Bibliothek wird nicht gefunden, aber sie ist im System vorhanden
-
ldd programmname gibt mir die Meldung:
libX11.so.6 => (Datei nicht gefunden)Die Datei libX11.so.6 ist im System aber vorhanden, nur halt in einem speziellen Verzeichnis unter /opt/
Auf /etc/ld.so.cache oder /etc/ld.so.config habe ich als Nicht-Admin keinen Einfluß.
Wie kann ich meinem Programm nun trotzdem mitteilen, wo er die Lib suchen soll?
Der Sourcecode und das Makefile zu dem Programm wären vorhanden.
Kann man damit irgendwie etwas machen, damit es die Lib trotzdem findet?
Das compilieren selbst funktioniert ja merkwürdigerweise.Statisch zu linken habe ich schon probiert, aber dann findet er Reihenweise wichtige Bibliotheken nicht:
ld: Schwerer Fehler: Bibliothek -lX11: nicht gefunden ld: Schwerer Fehler: Bibliothek -lXi: nicht gefunden ld: Schwerer Fehler: Bibliothek -lXmu: nicht gefunden ld: Schwerer Fehler: Bibliothek -lglut: nicht gefunden ld: Schwerer Fehler: Bibliothek -lGL: nicht gefunden ld: Schwerer Fehler: Bibliothek -lGLU: nicht gefunden ld: Schwerer Fehler: Bibliothek -lm: nicht gefunden ld: Schwerer Fehler: Bibliothek -lc: nicht gefunden ld: Schwerer Fehler: Dateiverarbeitungsfehler. Keine Ausgabe in test geschrieben
-
Setz einen LD_RUN_PATH vor dem Linken. Falls du schon gelinkt hast und die Bib nun woanders liegt, setz einen LD_LIBRARY_PATH.
-
Du meinst so:
set LD_LIBRARY_PATH=/opt/spezial/lib
Und dann im gleichen Terminal danach starten?
-
Die Details wie du mit deiner Konsole umgehst, musst du selber wissen. Die Form die du vorschlägst habe ich noch nicht gesehen, aber ich kenne nicht alles. Außerdem solltest du den Pfad nur zufügen, nicht alleinig setzen, falls schon vorher etwas gesetzt war.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.