GNU ld kann keine Bibliothek finden, die da ist

8

Die Pakete, mit denen ich hier spiele, sind ziemlich unbekannt, aber das Problem ist eher generisch. Im Grunde versuche ich Python-Modul (genannt rql) mit C ++ - Erweiterung zu kompilieren. Die Erweiterung verwendet das externe Framework gecode, das mehrere Bibliotheken enthält. Ich habe gecode kompiliert und lokal installiert. Lassen Sie nun die Ausgabe für sich sprechen:

%Vor%     
Red 10.07.2010, 23:12
quelle

2 Antworten

13

LD_LIBRARY_PATH ist für Runtime-Linker / Loader (der gleiche Effekt könnte mit ldconfig erreicht werden). Was Sie brauchen, ist das -L Flag:

%Vor%

in der Compiler-Befehlszeile.

Bearbeiten:

Und - dank @bjg, um mich daran zu erinnern - kannst du LIBRARY_PATH benutzen, wenn du dich nicht mit Compiler-Optionen anlegen willst.

    
Nikolai Fetissov 10.07.2010, 23:20
quelle
1

Sie haben anscheinend LD_LIBRARY_PATH so geändert, dass sie auf einen nicht standardmäßigen Speicherort in Ihrem Ausgangsverzeichnis verweist. Weißt du, ob LD_LIBRARY_PATH in der Umgebung, in der g ++ in setup.py aufgerufen wird, mit deiner Shell-Umgebung übereinstimmt?

Sehen Sie, ob Sie Argumente an setup.py übergeben können, um den Bibliothekspfad zu ändern oder übergeben Sie einfach -L/home/red/usr/lib an g ++.

    
BenG 10.07.2010 23:20
quelle