CMake Error on Ubuntu 12.04
Moderator: PPS-Leaders
CMake Error on Ubuntu 12.04
I tried to install Orxonox as described in the building pages (including installing the dependencies) and got the following error message when running cmake. I'm still trying to catch the error.
-- *** Build type is Debug ***
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
Could NOT find CEGUI (version requirements: at least 0.6) (missing:
CEGUI_TOLUA_LIBRARY_OPTIMIZED) (Required is at least version "0.6")
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
cmake/tools/FindPackageHandleAdvancedArgs.cmake:44 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/tools/FindCEGUI.cmake:133 (FIND_PACKAGE_HANDLE_ADVANCED_ARGS)
cmake/LibraryConfig.cmake:121 (FIND_PACKAGE)
CMakeLists.txt:152 (INCLUDE)
-- *** Build type is Debug ***
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
Could NOT find CEGUI (version requirements: at least 0.6) (missing:
CEGUI_TOLUA_LIBRARY_OPTIMIZED) (Required is at least version "0.6")
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
cmake/tools/FindPackageHandleAdvancedArgs.cmake:44 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/tools/FindCEGUI.cmake:133 (FIND_PACKAGE_HANDLE_ADVANCED_ARGS)
cmake/LibraryConfig.cmake:121 (FIND_PACKAGE)
CMakeLists.txt:152 (INCLUDE)
Fail. Fail again. Fail better.
Re: CMake Error on Ubuntu 12.04
Thank you Reto. You fixed the first error quickly. Unfortunately a new one appeared. I try to gather further information. Unfortunately Cmake is still new to me.
In Ubuntu 10.04 I found the Plugin in the package libogre-main-1.6.4:
/usr/lib/OGRE/Plugin_ParticleFx.(la/so)
In Ubuntu 12.04 I found the Plugin in the package libogre-main-1.7.4:
/usr/lib/i386-linux-gnu/OGRE-1.7.4/Plugin_ParticleFX.so
(where is the .la file? is it relevant??)
and in the package libogre-dev:
/usr/include/OGRE/Plugins/ParticleFX (in this folder there are only some header files, so I consider it not to be relevant)
-- *** Build type is Debug ***
CMake Error at cmake/tools/CheckOGREPlugins.cmake:64 (MESSAGE):
Could not find OGRE plugin named Plugin_ParticleFX
Call Stack (most recent call first):
cmake/LibraryConfig.cmake:215 (CHECK_OGRE_PLUGINS)
CMakeLists.txt:152 (INCLUDE)
In Ubuntu 10.04 I found the Plugin in the package libogre-main-1.6.4:
/usr/lib/OGRE/Plugin_ParticleFx.(la/so)
In Ubuntu 12.04 I found the Plugin in the package libogre-main-1.7.4:
/usr/lib/i386-linux-gnu/OGRE-1.7.4/Plugin_ParticleFX.so
(where is the .la file? is it relevant??)
and in the package libogre-dev:
/usr/include/OGRE/Plugins/ParticleFX (in this folder there are only some header files, so I consider it not to be relevant)
-- *** Build type is Debug ***
CMake Error at cmake/tools/CheckOGREPlugins.cmake:64 (MESSAGE):
Could not find OGRE plugin named Plugin_ParticleFX
Call Stack (most recent call first):
cmake/LibraryConfig.cmake:215 (CHECK_OGRE_PLUGINS)
CMakeLists.txt:152 (INCLUDE)
Fail. Fail again. Fail better.
Re: CMake Error on Ubuntu 12.04
Probably I was able to fix this problem by adding a part of the appropriate path to Ogre's Particle_FX plugin. Unfortunately a new bug arised. I hope that it isn't related to the previous ones.
Console output:
Crash-Log:
Console output:
Code: Select all
Error (internal): [cegui] Scheme_xmlHandler::elementStart: Unknown element encountered: <膕>
Code: Select all
=======================================================
= time: Tue May 8 21:26:13 2012
=======================================================
Program received signal SIGSEGV, Segmentation fault.
__GI___libc_free (mem=0x4) at malloc.c:2968
(gdb)
#0 __GI___libc_free (mem=0x4) at malloc.c:2968
#1 0x002f851f in operator delete(void*) ()
from /usr/lib/i386-linux-gnu/libstdc++.so.6
#2 0x002f857b in operator delete[](void*) ()
from /usr/lib/i386-linux-gnu/libstdc++.so.6
#3 0x013b7248 in CEGUI::OgreResourceProvider::unloadRawDataContainer(CEGUI::RawDataContainer&) () from /usr/lib/libCEGUIOgreRenderer-0.7.5.so
#4 0x017d1085 in CEGUI::TinyXMLDocument::TinyXMLDocument(CEGUI::XMLHandler&, CEGUI::String const&, CEGUI::String const&, CEGUI::String const&) ()
from /usr/lib/libCEGUITinyXMLParser-0.7.5.so
#5 0x017d1372 in CEGUI::TinyXMLParser::parseXMLFile(CEGUI::XMLHandler&, CEGUI::String const&, CEGUI::String const&, CEGUI::String const&) ()
from /usr/lib/libCEGUITinyXMLParser-0.7.5.so
#6 0x09679baa in CEGUI::Scheme_xmlHandler::Scheme_xmlHandler(CEGUI::String const&, CEGUI::String const&) () from /usr/lib/libCEGUIBase-0.7.5.so
#7 0x050d6184 in ?? () from /usr/lib/libCEGUILuaScriptModule-0.7.5.so
#8 0x003819ae in ?? () from /usr/lib/i386-linux-gnu/liblua5.1.so.0
#9 0x0038c7fd in ?? () from /usr/lib/i386-linux-gnu/liblua5.1.so.0
#10 0x00381dc8 in ?? () from /usr/lib/i386-linux-gnu/liblua5.1.so.0
#11 0x0037c150 in ?? () from /usr/lib/i386-linux-gnu/liblua5.1.so.0
#12 0x0038107e in ?? () from /usr/lib/i386-linux-gnu/liblua5.1.so.0
#13 0x00381fa0 in ?? () from /usr/lib/i386-linux-gnu/liblua5.1.so.0
#14 0x0037d733 in lua_pcall () from /usr/lib/i386-linux-gnu/liblua5.1.so.0
#15 0x062f1b80 in orxonox::LuaState::doString (this=0xa504ba0, code=...,
sourceFileInfo=...)
at /home/jo/orxonox/trunk/src/libraries/core/LuaState.cc:188
#16 0x062f181b in orxonox::LuaState::doFile (this=0xa504ba0, filename=...)
at /home/jo/orxonox/trunk/src/libraries/core/LuaState.cc:135
#17 0x0635ef1f in orxonox::GUIManager::GUIManager (this=0xa33e9d8,
mousePosition=..., __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
at /home/jo/orxonox/trunk/src/libraries/core/GUIManager.cc:325
#18 0x0634c35e in orxonox::Core::loadGraphics (this=0xa03ff60)
at /home/jo/orxonox/trunk/src/libraries/core/Core.cc:372
#19 0x062c0850 in orxonox::Game::loadGraphics (this=0xa03fd28)
at /home/jo/orxonox/trunk/src/libraries/core/Game.cc:530
#20 0x062c0df1 in orxonox::Game::loadState (this=0xa03fd28, name=...)
at /home/jo/orxonox/trunk/src/libraries/core/Game.cc:591
#21 0x062be796 in orxonox::Game::updateGameStateStack (this=0xa03fd28)
at /home/jo/orxonox/trunk/src/libraries/core/Game.cc:256
#22 0x062be19c in orxonox::Game::run (this=0xa03fd28)
at /home/jo/orxonox/trunk/src/libraries/core/Game.cc:177
#23 0x00c85842 in orxonox::main (strCmdLine=...)
at /home/jo/orxonox/trunk/src/orxonox/Main.cc:108
#24 0x0804b838 in main (argc=1, argv=0xbfb84554)
at /home/jo/orxonox/trunk/src/Orxonox.cc:85
(gdb)
Kill the program being debugged? (y or n) [answered Y; input not from terminal]
(gdb)
Fail. Fail again. Fail better.
Re: CMake Error on Ubuntu 12.04
which XML file is that and do you have any clue why one of the elements would become a strange character?
Fabian 'x3n' Landau, Orxonox developer
Re: CMake Error on Ubuntu 12.04
I've got no clue what particular xml file triggers the error. The game crashes while loading. (After starting ./run the screen goes black and the cursor is put in the upper left corner. The crash occurs before the cursor apperance is changed and the menu is loaded. As far as I know all level files are checked during startup - so it could be basically anywhere.)
Probably the problem concerns the tolua++5.1-dev library which I was suggested to use by Reto.
(That was necessary, since CEGUI's embedded tolua++ library has been deleted)
BUT:
seems to take the same line, since at this location Exceptions are handled.
But probably my intuition is wrong:
http://www.cegui.org.uk/phpBB2/viewtopi ... =10&t=6106
Probably the problem concerns the tolua++5.1-dev library which I was suggested to use by Reto.
(That was necessary, since CEGUI's embedded tolua++ library has been deleted)
BUT:
And when looking at the crash log the part /home/jo/orxonox/trunk/src/libraries/core/LuaState.cc:188<reto> Wie machen die das überhaupt? CEGUI hat tolua modifiziert
<reto> und um Exception handling erweitert
seems to take the same line, since at this location Exceptions are handled.
But probably my intuition is wrong:
http://www.cegui.org.uk/phpBB2/viewtopi ... =10&t=6106
Fail. Fail again. Fail better.
Re: CMake Error on Ubuntu 12.04
I mean, could you try using a debugger to figure out which XML file is opened there?
Looking at your stacktrace, it's GUIManager which executes a lua file, which then goes into CEGUI to (apparently) load a scheme file, but there are plenty of files in /data/gui/scheme/, so any further information is appreciated.
On the other hand, I don't think looking at the XML file helps alot. It looks more like a library/version/linking problem, e.g. unicode vs ascii builds or whatever. This would mean that you use a different version of a library than it was originally linked to, or maybe a related problem.
Looking at your stacktrace, it's GUIManager which executes a lua file, which then goes into CEGUI to (apparently) load a scheme file, but there are plenty of files in /data/gui/scheme/, so any further information is appreciated.
On the other hand, I don't think looking at the XML file helps alot. It looks more like a library/version/linking problem, e.g. unicode vs ascii builds or whatever. This would mean that you use a different version of a library than it was originally linked to, or maybe a related problem.
Fabian 'x3n' Landau, Orxonox developer
Re: CMake Error on Ubuntu 12.04
That's because the modifications are in the *.lua files, which actually make up tolua. The C library is just a collection of convenience functions.The Jo wrote:<reto> Wie machen die das überhaupt? CEGUI hat tolua modifiziert
<reto> und um Exception handling erweitert
And those *.lua files are in src/external/tolua/lua (loaded every time the tolua application is started).
I remembered some time today
![Wink ;)](./images/smilies/icon_e_wink.gif)
I'll get back to the actual problem later. Sorry, just don't have much time right now.
http://www.xkcd.com/
A webcomic of romance, sarcasm, math, and language.
A webcomic of romance, sarcasm, math, and language.
Re: CMake Error on Ubuntu 12.04
I can't seem to nail it at all.
Checking the tolua lib source code reveals NO static data at all. That means liking statically against multiple targets won't be a problem (since the symbols are just functions without static data).
Browsing through the Ubuntu packages, I found only one explanation so far: Orxonox actually links against lua5.2, which was release to the Ubuntu world with oneiric.
Jo, can you check in the CMakeCache.txt file what library Orxonox links against? The variables to check for are called LUA5.1_LIBRARY_OPTIMIZED and LUA5.1_INCLUDE_DIR. Please check both, and if necessary, follow any symlinks.
Checking the tolua lib source code reveals NO static data at all. That means liking statically against multiple targets won't be a problem (since the symbols are just functions without static data).
Browsing through the Ubuntu packages, I found only one explanation so far: Orxonox actually links against lua5.2, which was release to the Ubuntu world with oneiric.
Jo, can you check in the CMakeCache.txt file what library Orxonox links against? The variables to check for are called LUA5.1_LIBRARY_OPTIMIZED and LUA5.1_INCLUDE_DIR. Please check both, and if necessary, follow any symlinks.
http://www.xkcd.com/
A webcomic of romance, sarcasm, math, and language.
A webcomic of romance, sarcasm, math, and language.
Re: CMake Error on Ubuntu 12.04
Any luck anyone with oneiric?
http://www.xkcd.com/
A webcomic of romance, sarcasm, math, and language.
A webcomic of romance, sarcasm, math, and language.
Re: CMake Error on Ubuntu 12.04
Actually 12.04 is precise not oneiric
I got it to build as well, by installing packages libtolua-dev and libtolua++5.1-dev
However it crashes at start. No crashlog is generated.
My CMakeCache.txt file: http://pastebin.com/yNJ0XaDB
So it seems to me that it links to lua5.1 after all.
I just looked ad ccmake and there is
Is this ok? I guess the ogre plugins are probably only needed on windows, but the boost dir?
I got it to build as well, by installing packages libtolua-dev and libtolua++5.1-dev
However it crashes at start. No crashlog is generated.
My CMakeCache.txt file: http://pastebin.com/yNJ0XaDB
Code: Select all
//Path to a file.
LUA5.1_INCLUDE_DIR:PATH=/usr/include/lua5.1
//Path to a library.
LUA5.1_LIBRARY_OPTIMIZED:FILEPATH=/usr/lib/x86_64-linux-gnu/liblua5.1.so
I just looked ad ccmake and there is
Code: Select all
Boost_DIR = Boost_DIR-NOTFOUND
OGRE_PLUGIN_Plugin_CgProgramManager_DEBUG = OGRE_PLUGIN_Plugin_CgProgramManager_DEBUG-NOTFOUND
OGRE_PLUGIN_Plugin_CgProgramManager_OPTIMIZED = OGRE_PLUGIN_Plugin_CgProgramManager_OPTIMIZED-NOTFOUND
OGRE_PLUGIN_RenderSystem_Direct3D9_DEBUG = OGRE_PLUGIN_RenderSystem_Direct3D9_DEBUG-NOTFOUND
OGRE_PLUGIN_RenderSystem_Direct3D9_OPTIMIZED = OGRE_PLUGIN_RenderSystem_Direct3D9_DEBUG-OPTIMIZED
Re: CMake Error on Ubuntu 12.04
That is quite interesting.
And yes, we should add tolua++ (which probably requires tolua) to the dependencies for Ubuntu. Though CEGUI already depends on it anyway.
The plugins are OK because the CgProgramManager is retrieved separately I believe (check the Ubuntu packets) and the Direct3D is not for Linux![Wink ;)](./images/smilies/icon_e_wink.gif)
We don't actually need a plugin except for a renderer and the particle system.
Boost_DIR should be OK because that variable only serves as a starting point for the rest (BOOST_ROOT is another one). So as long as the libraries and the includes are found, this should not be a problem.
And I may have just found the culprit: FindCEGUI.cmake.
It seems to find the tolua++ in the CEGUI include folder, but uses the system library to link against. This might be problematic.
I'll have a look at the CMake find module.
And yes, we should add tolua++ (which probably requires tolua) to the dependencies for Ubuntu. Though CEGUI already depends on it anyway.
The plugins are OK because the CgProgramManager is retrieved separately I believe (check the Ubuntu packets) and the Direct3D is not for Linux
![Wink ;)](./images/smilies/icon_e_wink.gif)
We don't actually need a plugin except for a renderer and the particle system.
Boost_DIR should be OK because that variable only serves as a starting point for the rest (BOOST_ROOT is another one). So as long as the libraries and the includes are found, this should not be a problem.
And I may have just found the culprit: FindCEGUI.cmake.
It seems to find the tolua++ in the CEGUI include folder, but uses the system library to link against. This might be problematic.
I'll have a look at the CMake find module.
http://www.xkcd.com/
A webcomic of romance, sarcasm, math, and language.
A webcomic of romance, sarcasm, math, and language.
Re: CMake Error on Ubuntu 12.04
I ran a backtrace, it is the same thing that Jo already showed ( http://pastebin.com/n7pX95P9 ).
Interestingly the problem occurs when trying to run InitializeGUI.lua (before that LuaSateInit.lua and Tools.lua are run without any problems). It seems to me that the tolua part that deals with orxonox works fine but the tolua part for CEGUI does not.
The error occurs in InitializeGUI.lua for
I also read that this could be a problem related to the TinyXMlParser, if I have time I will build CEGUI on my machine with e.g. the Xerxes parser and see what happens.
Interestingly the problem occurs when trying to run InitializeGUI.lua (before that LuaSateInit.lua and Tools.lua are run without any problems). It seems to me that the tolua part that deals with orxonox works fine but the tolua part for CEGUI does not.
The error occurs in InitializeGUI.lua for
Code: Select all
schemeMgr:create(scheme .. "MenuWidgets.scheme")
Re: CMake Error on Ubuntu 12.04
How far are we with this problem? Has the CMake Error been fixed? Can somebody commit this fix?
"I'm Commander Shepard and this is my favorite forum on the internet."
Re: CMake Error on Ubuntu 12.04
The cmake problem is solved and already commited. But then a runtime error occured which is still not fixed yet. As far as I know the XML parser causes that error.
I see two solutions, but I'm currently not sure how to carry them out.
I see two solutions, but I'm currently not sure how to carry them out.
![Sad :(](./images/smilies/icon_e_sad.gif)
- replace tinyXML with another XML parser
- include the tinyXML in our package which can be found in Ubuntu 11.10
Fail. Fail again. Fail better.
Re: CMake Error on Ubuntu 12.04
It's not in the trunk is it? I still have the cmake error last time I checked.
"I'm Commander Shepard and this is my favorite forum on the internet."
Who is online
Users browsing this forum: No registered users and 88 guests