[Solved]build won't read symbols from libX11.so
Posted: Fri Aug 09, 2013 00:22
I'm building both CEGUI 0.8.2 and also the repo version, on Ubuntu 13.04 (Linux). I disabled CEGUI_SAMPLES_USE_DIRECTFB to work aroud 2 build bugs I previously reported. I enabled CEGUI_SAMPLES_USE_OPENGL3 because that's what I'm interested in developing. Inexplicably, the samples cannot find libX11.so. This is a library so fundamental and basic to everything working right, that I'm wondering if nobody is doing any test coverage for Linux releases.
Either that, or, this is some kind of Debian "multiarch aware" issue? Please note the /usr/lib/x86_64-linux-gnu/ directories in the output. This is where the libs are supposed to live nowadays on a 64-bit Debian system, and builds that assume other things for other distros are known to cause problems. I don't know if this is the actual problem, I'm making a totally unsubstantiated and unresearched guess. CMake has X11_X11_LIB set correctly to /usr/lib/x86_64-linux-gnu/libX11.so.
Or is it specific to CEGUI_SAMPLES_USE_OPENGL3 ? Another guess.
Or can my libX11.so have weirdness due to NVIDIA driver (mis)configuration? Another guess.
Either that, or, this is some kind of Debian "multiarch aware" issue? Please note the /usr/lib/x86_64-linux-gnu/ directories in the output. This is where the libs are supposed to live nowadays on a 64-bit Debian system, and builds that assume other things for other distros are known to cause problems. I don't know if this is the actual problem, I'm making a totally unsubstantiated and unresearched guess. CMake has X11_X11_LIB set correctly to /usr/lib/x86_64-linux-gnu/libX11.so.
Or is it specific to CEGUI_SAMPLES_USE_OPENGL3 ? Another guess.
Or can my libX11.so have weirdness due to NVIDIA driver (mis)configuration? Another guess.
Code: Select all
Linking CXX executable ../bin/CEGUISampleFramework-9999.0
/usr/bin/ld: /usr/local/lib/libglfw.a(x11_window.o): undefined reference to symbol 'XSetWMHints'
/usr/bin/ld: note: 'XSetWMHints' is defined in DSO /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/libX11.so so try adding it to the linker command line
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/libX11.so: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [bin/CEGUISampleFramework-9999.0] Error 1
make[1]: *** [samples_framework/CMakeFiles/CEGUISampleFramework-9999.0.dir/all] Error 2
make: *** [all] Error 2
bvanevery@nomad:~/devel/build/cegui$