Indeed this fixed it, the build succeeded now (with loads of warnings).
And it even runs up to the main menu. As soon as I enter the options menu, though, GDB prints this:
Program received signal SIGSEGV, Segmentation fault.
Glest::Menu::MenuStateRoot::update (this=0x224e0f0) at /home/tomreyn/SCM/mandate/source/game/menu/menu_state_root.cpp:251
251 ccState->getCharacterCreator()->loadTech();
(gdb) bt
#0 Glest::Menu::MenuStateRoot::update (this=0x224e0f0) at /home/tomreyn/SCM/mandate/source/game/menu/menu_state_root.cpp:251
#1 0x00000000006624be in Glest::Main::Program::loop (this=this@entry=0x7fffffffd3d0) at /home/tomreyn/SCM/mandate/source/game/main/program.cpp:331
#2 0x000000000065f476 in Glest::Main::glestMain (argc=argc@entry=1, argv=argv@entry=0x7fffffffe128) at /home/tomreyn/SCM/mandate/source/game/main/main.cpp:187
#3 0x000000000050a65d in main (argc=1, argv=0x7fffffffe128) at /home/tomreyn/SCM/mandate/source/game/main/main.cpp:220
When I decide to continue, it gives:
#0 0x00007ffff57023cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007ffff4267982 in poll (__timeout=-1, __nfds=1, __fds=0x7fffffffbd00) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2 _xcb_conn_wait (c=c@entry=0xa9fb00, cond=cond@entry=0x7fffffffbd70, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:400
#3 0x00007ffff4268e57 in wait_for_reply (c=c@entry=0xa9fb00, request=2143, e=e@entry=0x7fffffffbe28) at ../../src/xcb_in.c:395
#4 0x00007ffff426907b in xcb_wait_for_reply (c=0xa9fb00, request=2143, e=0x7fffffffbe28) at ../../src/xcb_in.c:425
#5 0x00007ffff48db2d9 in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#6 0x00007ffff7bbffb3 in DRI2GetBuffersWithFormat (dpy=0xa9e770, drawable=35651599, width=width@entry=0xfa37c8, height=height@entry=0xfa37cc, attachments=0x7fffffffbfc0, count=1, outCount=outCount@entry=0x7fffffffbfac) at dri2.c:485
#7 0x00007ffff7bbd78c in dri2GetBuffersWithFormat (driDrawable=<optimized out>, width=0xfa37c8, height=0xfa37cc, attachments=<optimized out>, count=<optimized out>, out_count=0x7fffffffbfac, loaderPrivate=0xfa36c0) at dri2_glx.c:893
#8 0x00007fffef2ce4d9 in dri2_drawable_get_buffers (count=<synthetischer Zeiger>, atts=0xfa3e80, drawable=0xfa37e0) at dri2.c:151
#9 dri2_allocate_textures (drawable=0xfa37e0, statts=0xfa3e80, statts_count=2) at dri2.c:402
#10 0x00007fffef2cd275 in dri_st_framebuffer_validate (stfbi=<optimized out>, statts=0xfa3e80, count=2, out=0x7fffffffc0f0) at dri_drawable.c:81
#11 0x00007fffee868006 in st_framebuffer_validate (stfb=stfb@entry=0xfa3a40, st=0xf9bc90, st=0xf9bc90) at ../../../../../src/mesa/state_tracker/st_manager.c:195
#12 0x00007fffee869515 in st_manager_validate_framebuffers (st=st@entry=0xf9bc90) at ../../../../../src/mesa/state_tracker/st_manager.c:832
#13 0x00007fffee83fe0c in st_validate_state (st=st@entry=0xf9bc90) at ../../../../../src/mesa/state_tracker/st_atom.c:172
#14 0x00007fffee84689a in st_Clear (ctx=0xf5cdc0, mask=18) at ../../../../../src/mesa/state_tracker/st_cb_clear.c:394
#15 0x000000000066251d in Glest::Main::Program::loop (this=this@entry=0x7fffffffd3d0) at /home/tomreyn/SCM/mandate/source/game/main/program.cpp:287
#16 0x0000000000662ddc in Glest::Main::Program::crash (this=0x7fffffffd3d0, e=e@entry=0x0) at /home/tomreyn/SCM/mandate/source/game/main/program.cpp:491
#17 0x000000000065facd in Glest::Main::ExceptionHandler::notifyUser (this=<optimized out>, pretty=<optimized out>) at /home/tomreyn/SCM/mandate/source/game/main/main.cpp:91
#18 0x00000000007aec86 in Shared::Platform::PlatformExceptionHandler::handler (signo=11, info=<optimized out>, context=<optimized out>) at /home/tomreyn/SCM/mandate/source/shared_lib/sources/platform/sdl/platform_util.cpp:262
#19 <signal handler called>
#20 Glest::Menu::MenuStateRoot::update (this=0x224e0f0) at /home/tomreyn/SCM/mandate/source/game/menu/menu_state_root.cpp:251
#21 0x00000000006624be in Glest::Main::Program::loop (this=this@entry=0x7fffffffd3d0) at /home/tomreyn/SCM/mandate/source/game/main/program.cpp:331
#22 0x000000000065f476 in Glest::Main::glestMain (argc=argc@entry=1, argv=argv@entry=0x7fffffffe128) at /home/tomreyn/SCM/mandate/source/game/main/main.cpp:187
#23 0x000000000050a65d in main (argc=1, argv=0x7fffffffe128) at /home/tomreyn/SCM/mandate/source/game/main/main.cpp:220
Accessing the "About" menu instead gives similar results.
Starting the game fresh from gdb, and heading to the new character editor menu you edit, gives this:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5fb55ee in std::string::assign(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(gdb) bt
#0 0x00007ffff5fb55ee in std::string::assign(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1 0x00000000005daaeb in operator= (__str=..., this=0x2468610) at /usr/include/c++/4.7/bits/basic_string.h:544
#2 Glest::Gui::CharacterCreator::setupListBoxTraits (this=this@entry=0x24667d0) at /home/tomreyn/SCM/mandate/source/game/game/character_creator.cpp:783
#3 0x00000000005db232 in Glest::Gui::CharacterCreator::buildSovereignTab (this=this@entry=0x24667d0) at /home/tomreyn/SCM/mandate/source/game/game/character_creator.cpp:123
#4 0x00000000005dc299 in Glest::Gui::CharacterCreator::buildTabs (this=0x24667d0) at /home/tomreyn/SCM/mandate/source/game/game/character_creator.cpp:67
#5 0x0000000000672e00 in Glest::Menu::MenuStateRoot::update (this=0x2075b90) at /home/tomreyn/SCM/mandate/source/game/menu/menu_state_root.cpp:252
#6 0x00000000006624be in Glest::Main::Program::loop (this=this@entry=0x7fffffffd3d0) at /home/tomreyn/SCM/mandate/source/game/main/program.cpp:331
#7 0x000000000065f476 in Glest::Main::glestMain (argc=argc@entry=1, argv=argv@entry=0x7fffffffe128) at /home/tomreyn/SCM/mandate/source/game/main/main.cpp:187
#8 0x000000000050a65d in main (argc=1, argv=0x7fffffffe128) at /home/tomreyn/SCM/mandate/source/game/main/main.cpp:220