FreeOrion segfaults on start up. Somewhere in GG::OgreGUI::Enter2DMode:
Code: Select all
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb67466c0 (LWP 9476)]
0x000010d1 in ?? ()
(gdb) bt
#0 0x000010d1 in ?? ()
#1 0xb7ed864c in GG::OgreGUI::Enter2DMode () from /usr/local/lib/libGiGiOgre.so
#2 0x082df980 in HumanClientApp::Enter2DMode ()
#3 0xb7cddef3 in GG::GUI::Render () from /usr/local/lib/libGiGi.so
#4 0xb7ed732a in GG::OgreGUI::postRenderTargetUpdate () from /usr/local/lib/libGiGiOgre.so
#5 0xb76ea8c4 in Ogre::RenderTarget::firePostUpdate (this=0xb4f74608) at /home/bernard/src/ogre/OgreMain/src/OgreRenderTarget.cpp:339
#6 0xb76eb257 in Ogre::RenderTarget::updateImpl (this=0xb4f74608) at /home/bernard/src/ogre/OgreMain/src/OgreRenderTarget.cpp:121
#7 0xb76eaaac in Ogre::RenderTarget::update (this=0xb4f74608, swap=false) at /home/bernard/src/ogre/OgreMain/src/OgreRenderTarget.cpp:501
#8 0xb76d2a61 in Ogre::RenderSystem::_updateAllRenderTargets (this=0xb4f6ce18, swapBuffers=false) at /home/bernard/src/ogre/OgreMain/src/OgreRenderSystem.cpp:113
#9 0xb770dccd in Ogre::Root::_updateAllRenderTargets (this=0xb4f624b8) at /home/bernard/src/ogre/OgreMain/src/OgreRoot.cpp:1184
#10 0xb770de20 in Ogre::Root::renderOneFrame (this=0xb4f624b8) at /home/bernard/src/ogre/OgreMain/src/OgreRoot.cpp:846
#11 0xb7ed774f in GG::OgreGUI::Run () from /usr/local/lib/libGiGiOgre.so
#12 0xb7cdc201 in GG::GUI::operator() () from /usr/local/lib/libGiGi.so
#13 0x082f0a9d in main ()
Code: Select all
---------- Enter2DMode -----------
glPushAttrib glPushClientAttrib
getRenderSystem
Matrix shit
glOrtho
initialise render settings
blend stuff.
initialise texture settings
enable alpha blending
glBindBuffer
glUseProgramARB
Code: Select all
$ lspci | grep ATI
01:00.0 VGA compatible controller: ATI Technologies Inc M10 NQ [Radeon Mobility 9600]
01:00.1 Display controller: ATI Technologies Inc M10 NQ [Radeon Mobility 9600] (Secondary)
I'm running fglrx:
Code: Select all
$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI RADEON 9600 Series
OpenGL version string: 2.1.8543 Release
----EDIT1-----
Both ogre.log and freeorion.log contain no useful information and indeed no sign of failure at all.
----EDIT2-----
As I suspected this is the call that kills the beast:
Code: Select all
if (glUseProgramARB)
glUseProgramARB(0);
----EDIT3-----
Because I'm that kind of radical guy, I just commented out that call. It works, though what I've crippled I don't know (I don't even know what the function does).
In news that may or may not be related:
Code: Select all
$ ./freeorion --tech-demo
freeorion: /usr/local/stow/ogre/include/OGRE/OgreSharedPtr.h:158: T* Ogre::SharedPtr<T>::operator->() const [with T = Ogre::Material]: Assertion `pRep' failed.
Aborted