Autor Wątek: libX11.so: could not read symbols  (Przeczytany 1967 razy)

Offline BraXi

  • Użytkownik
    • braxi.org

# Sierpień 25, 2013, 21:02:36
Tak więc natknąłem się na dziwny problem po przejściu z Ubuntu 12.04.2 na Ubuntu 13.04, otóż nie mogę skompilować gry jeśli skorzystam ze statycznej wersji (libglfw.a) to wywala mi komunikat jak poniżej, lecz gdy kompiluję grę z biblioteką dynamiczną (libglfw.so) to nie ma żadnych problemów.

Cytuj
g++ -m32 ./Debug/obj/main.o ./Debug/obj/Common.o ./Debug/obj/ResourceManager.o ./Debug/obj/FileSystem.o ./Debug/obj/Input.o ./Debug/obj/Timer.o ./Debug/obj/SceneManager.o ./Debug/obj/Entity.o ./Debug/obj/Player.o ./Debug/obj/Ortho.o ./Debug/obj/Renderer.o ./Debug/obj/Shader.o ./Debug/obj/Texture.o ./Debug/obj/VertexBufferObject.o -g -s -L/usr/lib32/ -lGLU -lGL ./src/Libraries/glew/lib/libGLEW.a /usr/lib/libglfw.a ./src/Libraries/libpng/lib/libpng.a -lz -o ./Debug/game.bin
/usr/bin/ld: /usr/lib/libglfw.a(x11_window.o): undefined reference to symbol 'XSetWMHints'
/usr/bin/ld: note: 'XSetWMHints' is defined in DSO /usr/lib/i386-linux-gnu/libX11.so.6 so try adding it to the linker command line
/usr/lib/i386-linux-gnu/libX11.so.6: could not read symbols: Nieprawidłowa operacja
collect2: error: ld returned 1 exit status
braxi@ubuntu-pc:~/Game$

Edit: usunięcie czy też dodanie -lX11 nic nie daje.

Macie może jakieś pomysły aby statyczna bibliotek zadziałała? :)
« Ostatnia zmiana: Sierpień 25, 2013, 21:05:32 wysłana przez BraXi »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Liosan

  • Redaktor

# Sierpień 25, 2013, 23:12:08
No... a /usr/lib/i386-linux-gnu/libX11.so.6 jest i wygląda sensownie? Z jaką wersją libX11 było kompilowane libglfw.a ?

Liosan

Offline BraXi

  • Użytkownik
    • braxi.org

# Sierpień 25, 2013, 23:25:10
Przekompilowałem glfw na ubuntu 13.04 więc raczej z tą samą ;)

Offline BraXi

  • Użytkownik
    • braxi.org

  • +1
# Wrzesień 07, 2013, 22:14:54
Sorki za bump tematu, ale po wakacjach znowu zabrałem się za pisanie gry i rozwikłałem problem w dość banalny sposób.
Otóż problemem okazała się kolejność bibliotek, przesunąłem -lGLU -lGL i dodałem -lX11 za libpng.a i to rozwiązało mój problem.

Temat można zamknąć, odpisałem tylko po to aby ktoś, który spotka się z tym problemem wiedział jak go w szybki sposób rozwiązać :)