• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]Fehlende Bibliothek (libGL*)

Guten Abend zusammen,

ich möchte für die Uni eine .cpp-Datei kompilieren und nutze dafür das mitgelieferte Makefile. Meine Konsole gibt mir da aber nur folgendes aus:

Code:
linux:/home/ckw/Documents/MaPra/a2_2 # make
g++  -Wall -W -g  -o a2 meina2.o unit2.o -L/usr/X11R6/lib -lGL -lGLU -lglut -lpthread -lX11 -lXi -lXmu -L. -lIGL
/usr/lib/gcc/i586-suse-linux/4.0.2/../../../../i586-suse-linux/bin/ld: cannot fi                                         nd -lGL
collect2: ld returned 1 exit status
make: *** [a2] Fehler 1

Außerdem hab ich den neuen ATI-Treiber drauf und im ReadMe dazu steht irgendwas von wegen
Update on ATI GL library
------------------------

Since release 8.08/8.8.25 the ATI driver no longer works together
(hardware accelerated) with the standard OpenGL library. Therefore
LD_LIBRARY_PATH is now set to

/usr/lib/fglrx/lib:$LD_LIBRARY_PATH (IA32)
/usr/lib64/fglrx/lib:/usr/lib/fglrx/lib:$LD_LIBRARY_PATH (AMD64)

by default (by specifying this in /etc/profile.d/fglrx.{sh,csh}).

Unfortunately the use of LD_LIBRARY_PATH does not work for
setuid/setgid binaries (e.g. chromium/trackballs) because of obvious
security reasons. If you rely on such programs you might consider to
add "/usr/lib/fglrx/lib" (and "/usr/lib64/fglrx/lib" on AMD64) to
your /etc/ld.so.conf and call "ldconfig" right after this. Make sure
you insert it before /usr/lib and /usr/lib64 on AMD64.

Ach ja, noch was:

Code:
find /usr -name libGL.a
find /usr -name libGL.*.so

bringen beide nix...

Vielen Dank schon mal für alles

PS. bin übrigens Linux-noob ;)
 
laut YAST sind die beide schon drauf.
Soll ich die jetzt noch mal runterschmeißen und neu drauf packen?
 
Da bin ich mir ehrlich gesagt nicht sicher. Tatsache ist: Die GL-Bibliothek aus dem Paket xorg-x11-Mesa ist nicht mehr da, wo sie sein sollte - da würde sie nämlich garantiert gefunden. Tatsache ist aber auch: Der ATI-Treiber hat sie vermutlich ganz bewusst und absichtlich entfernt, damit statt der normalen GL-Bibliothek die vom ATI-Treiber benutzt wird.

An der Stelle geb ich die Sache vorsichtshalber an einen ATI-Nutzer ab... :roll:

Oder such nochmal mit einem etwas weiter gefassten Muster:
Code:
find / -name 'libGL*'
 
schau mal ob die libGL bei dir in /usr/lib/fglrx/lib steht.

dann kanst du so einen link setzen und dein Makeproblem von oben sollte gelöst sein:
ln -s /usr/lib/fglrx/lib/libGL.so.1.2 /usr/lib/libGL.so.1
ln -s /usr/lib/fglrx/lib/libGL.so.1.2 /usr/lib/libGL.so

alternativ:
-L/usr/lib/fglrx/lib -lGL ergänzen im Makefile.
 
Falls Du den Symlink setzt, bitte zusätzlich auch einen Symlink ohne Versionsnummer setzen (sonst wird die Bibliothek immer noch nicht gefunden, weil der Linker nach der Bibliothek ohne Versionsnummer sucht, d.h. "libGL.so" ohne ".X.Y" am Ende).

Und die Mesa-Pakete bitte nicht(!) nochmal drüberinstallieren (ich habe mich gerade nochmal informiert mit dem Ergebnis, dass es richtig ist, dass die ursprünglichen Mesa-Bibliotheken nicht mehr da sind - der ATI-Treiber ersetzt diese und wenn Du sie neu installierst, dann wird der ATI-Treiber nicht mehr gehen).
 
Danke, das mit den Links hat diesen Fehler behoben, jetzt krieg ich nur noch einen Haufen Fehler, die sich aber alle auf die vom Institut mitgelieferte Bibliothek beziehen. Daran werdet ihr aber wohl nicht viel ändern können...
 
Oben