autotools build fix/ogre render samples fix
Moderators: CEGUI MVP, CEGUI Team
autotools build fix/ogre render samples fix
i have provided a link to a patch that fixes the build system in trunk and fixes some other issues. the problem was that the new tree stuff hadnt been added to any Makefile.am files. the object files for the tree code wasnt being linked, and the headers were not being installed. i fixed all this in the patch.
another thing i did in the patch was upgrade the ogre cegui samples to use ois 1.0. i added some macros into acinclude.m4. essentially what happens is when the user wants to build the samples with ogre enabled, it checks for ois using the pkg-config m4 macros. after configure determines if everything is needed to build the ogre renderer samples, it will then check if OIS was found. if it was not, then the entire ogre renderer samples build will be disabled.
i had to make a small change to:
WindowRenderSets/Falagard/src/FalTree.cpp, and
Samples/datafiles/schemes/TaharezLook.scheme.
the scheme file was loading a font which caused problems with one of the demos (it complained the font was being loaded twice, i think it was the FontDemo). the change did not affect the other demos.
ois patch:
http://www.puresimplicity.net/~ldb/ois.patch
makefile patch:
http://www.puresimplicity.net/~ldb/makefile.patch
patch to fix small bug in samples taharezlook.scheme:
http://www.puresimplicity.net/~ldb/taharazlook.scheme.patch
another thing i did in the patch was upgrade the ogre cegui samples to use ois 1.0. i added some macros into acinclude.m4. essentially what happens is when the user wants to build the samples with ogre enabled, it checks for ois using the pkg-config m4 macros. after configure determines if everything is needed to build the ogre renderer samples, it will then check if OIS was found. if it was not, then the entire ogre renderer samples build will be disabled.
i had to make a small change to:
WindowRenderSets/Falagard/src/FalTree.cpp, and
Samples/datafiles/schemes/TaharezLook.scheme.
the scheme file was loading a font which caused problems with one of the demos (it complained the font was being loaded twice, i think it was the FontDemo). the change did not affect the other demos.
ois patch:
http://www.puresimplicity.net/~ldb/ois.patch
makefile patch:
http://www.puresimplicity.net/~ldb/makefile.patch
patch to fix small bug in samples taharezlook.scheme:
http://www.puresimplicity.net/~ldb/taharazlook.scheme.patch
Last edited by ldb on Sun Jul 08, 2007 15:17, edited 5 times in total.
No matter where you go, there you are.
Re: linux patch
ldb wrote:i have provided a link to a patch that fixes the build system in trunk and fixes some other issues. the problem was that the new tree stuff hadnt been added to any Makefile.am files. the object files for the tree code wasnt being linked, and the headers were not being installed. i fixed all this in the patch.
another thing i did in the patch was upgrade the ogre cegui samples to use ois 1.0. i added some macros into acinclude.m4. essentially what happens is when the user wants to build the samples with ogre enabled, it checks for ois using the pkg-config m4 macros. after configure determines if everything is needed to build the ogre renderer samples, it will then check if OIS was found. if it was not, then the entire ogre renderer samples build will be disabled.
i had to make a small change to:
WindowRenderSets/Falagard/src/FalTree.cpp, and
Samples/datafiles/schemes/TaharezLook.scheme.
the scheme file was loading a font which caused problems with one of the demos (it complained the font was being loaded twice, i think it was the FontDemo). the change did not affect the other demos.
http://www.puresimplicity.net/~ldb/linux.patch
just wondering -- is anyone reading this stuff that has commit access to the repository?
its a much needed fix that i highly suggest applying. im not trying to be pushy or anything, im just wondering if anyone is interested, if they think its a problem, etc. any kind of response is welcome.
oh, and to be more clear, its not specifically related to linux. its the autotools build system that is fixed.
also, the cegui ogre renderer samples wont work unless you are using ogre 1.2 or below. they wont even compile since they reference old ogre header files when it had an input system. the OIS addition will work with any version of ogre im sure.
No matter where you go, there you are.
scriptkid wrote:Hi,
patches like these are highly appreciated, thank you! I will forward the message to teammember(s) who have cegui running on linux. I still am busy setting up a linux box myself.
cool, thank you!
i was a long time (8 years) linux user/developer before switching to windows. i just installed linux the other day and decided to get all this stuff up and running when i discovered the problems. ive done quite a bit of hacking on projects which use autotools in the pastl; im pretty comfortable with the entire process.
thanks again!
No matter where you go, there you are.
ldb: thakyou for the patch! I've been trying to compile CEGUI from the svn source and was having problems. It was just luck I found your patch (maintainers: commit this please!).
I still have problem compiling Demo8 (errors below), presumably the difference is that I have Lua installed and you don't? With ./configure --disable-samples everything compiles, and my app works.
I still have problem compiling Demo8 (errors below), presumably the difference is that I have Lua installed and you don't? With ./configure --disable-samples everything compiles, and my app works.
Code: Select all
/home/pypgcm/svn/cegui/trunk/ScriptingModules/CEGUILua/LuaScriptModule/src/.libs/libCEGUILuaScriptModule.so: undefined reference to `CEGUI::ScriptWindowHelper::getWindow(CEGUI::String&)'
/home/pypgcm/svn/cegui/trunk/ScriptingModules/CEGUILua/LuaScriptModule/src/.libs/libCEGUILuaScriptModule.so: undefined reference to `CEGUI::ScriptWindowHelper::ScriptWindowHelper(CEGUI::Window*)'
/home/pypgcm/svn/cegui/trunk/ScriptingModules/CEGUILua/LuaScriptModule/src/.libs/libCEGUILuaScriptModule.so: undefined reference to `CEGUI::ScriptWindowHelper::getWindow()'
bull wrote:ldb: thakyou for the patch! I've been trying to compile CEGUI from the svn source and was having problems. It was just luck I found your patch (maintainers: commit this please!).
I still have problem compiling Demo8 (errors below), presumably the difference is that I have Lua installed and you don't? With ./configure --disable-samples everything compiles, and my app works.Code: Select all
/home/pypgcm/svn/cegui/trunk/ScriptingModules/CEGUILua/LuaScriptModule/src/.libs/libCEGUILuaScriptModule.so: undefined reference to `CEGUI::ScriptWindowHelper::getWindow(CEGUI::String&)'
/home/pypgcm/svn/cegui/trunk/ScriptingModules/CEGUILua/LuaScriptModule/src/.libs/libCEGUILuaScriptModule.so: undefined reference to `CEGUI::ScriptWindowHelper::ScriptWindowHelper(CEGUI::Window*)'
/home/pypgcm/svn/cegui/trunk/ScriptingModules/CEGUILua/LuaScriptModule/src/.libs/libCEGUILuaScriptModule.so: undefined reference to `CEGUI::ScriptWindowHelper::getWindow()'
hmm, i will investigate that. looks like i missed something.
glad i could help.
No matter where you go, there you are.
This could be my fault actually -- I'm compiling against Lua 5.1.2 which CEGUI doesn't ostensibly support. I'll let you know if the problem persists after I've done a bit more digging. This thread: http://www.cegui.org.uk/phpBB2/viewtopic.php?p=12416 mentions what I've done.
OK, here's what was missing, just one line from src/Makefile.am:
Code: Select all
@@ -42,6 +42,7 @@
CEGUISchemeManager.cpp \
CEGUIScheme_xmlHandler.cpp \
CEGUIScriptModule.cpp \
+ CEGUIScriptWindowHelper.cpp \
CEGUISize.cpp \
CEGUIString.cpp \
CEGUISubscriberSlot.cpp \
bull wrote:OK, here's what was missing, just one line from src/Makefile.am:Code: Select all
@@ -42,6 +42,7 @@
CEGUISchemeManager.cpp \
CEGUIScheme_xmlHandler.cpp \
CEGUIScriptModule.cpp \
+ CEGUIScriptWindowHelper.cpp \
CEGUISize.cpp \
CEGUIString.cpp \
CEGUISubscriberSlot.cpp \
ive made a new patch and included your addition. thanks.
this patch is just a patch for the makefiles, and FalTree.cpp. FalTree.cpp barfed on gcc, and with this change compiles on both vs2005 and gcc.
http://www.puresimplicity.net/~ldb/makefile.patch
could somebody please apply this patch before it gets forgotten, lost, whatever...
No matter where you go, there you are.
scriptkid wrote:Okay i have applied the patch from your last post Do i still need the OIS one from your first post? Just to be sure.
Thanks again!
thanks.
i updated my first post. it now has a link to the ois.patch, and the makefile.patch.
all that needs done now is to apply the ois.patch, and the taharezlook.scheme patch.
this will update the CEGuiOgreBaseApplication to use OIS.
the other patch fixes a bug in the Samples/datafiles/schemes/TaharezLook.scheme where its loading a default font and this causes problems with the font demo sample. appears its not necessary to load that commonwealth font in a scheme i guess. im not entirely sure. but, it makes all the demos work.
ive noticed the TabControl sample still bombs out with the following error:
WindowManager::getWindow - A Window object with the name 'TabControlDemo/TabControl' does not exist within the system
this should probably be fixed at some point. but im not sure how to fix it at the moment.
here are the 2 new patches:
http://www.puresimplicity.net/~ldb/ois.patch
http://www.puresimplicity.net/~ldb/taha ... heme.patch
i checked out a fresh svn trunk and these 2 patches will apply cleanly to the current source (revision 1479).
the only thing that might be left to do is update the premake scripts to use ois in the visual studio samples projects. if i manage to do this, i will submit another patch.
thank you scriptkid.
No matter where you go, there you are.
Return to “CEGUI Library Development Discussion”
Who is online
Users browsing this forum: No registered users and 1 guest