OpenSceneGraph kann die Bibliotheksabhängigkeit nicht finden

360
Keegan Dent

Ich habe die Installationsanweisungen für OpenSceneGraph abgeschlossen, einschließlich der Installation von OpenThreads aus dem Quellcode. Der osgviewer kann jedoch die Datei nicht finden, die er ausführen muss.

$ /usr/local/bin/osgviewer /usr/local/bin/osgviewer: error while loading shared libraries: libOpenThreads.so.21: cannot open shared object file: No such file or directory $ ls -l /usr/local/lib64 | grep libOpenThreads lrwxrwxrwx. 1 root root 20 Jul 13 16:55 libOpenThreads.so -> libOpenThreads.so.20 lrwxrwxrwx. 1 root root 23 Jul 13 16:55 libOpenThreads.so.20 -> libOpenThreads.so.3.3.0 lrwxrwxrwx. 1 root root 23 Jul 13 15:12 libOpenThreads.so.21 -> libOpenThreads.so.3.3.1 -rwxr-xr-x. 1 root root 49688 Jul 13 16:55 libOpenThreads.so.3.3.0 -rwxr-xr-x. 1 root root 44464 Jul 13 02:59 libOpenThreads.so.3.3.1 

Gibt es eine Möglichkeit festzustellen, wo dieses Programm nach der Bibliothek sucht, damit ich einen Symlink erstellen kann? Ist es an eine pfadähnliche Envar gebunden?

0

1 Antwort auf die Frage

2
Ibraheem Moosa

Um zu sehen, welche Verzeichnisse sich im Bibliothekspfad befinden.

ldconfig -v 2>/dev/null | grep -v ^$'\t' 

Am wahrscheinlichsten befindet sich / usr / lib bereits im Bibliotheks-Suchpfad.

Erstellen Sie dann einen symbolischen Link.

cp -s /usr/local/lib64/libOpenThreads.so.21 /usr/lib 

Wenn Sie / usr / local / lib64 zum Bibliotheksuchpfad hinzufügen möchten, fügen Sie ihn zu /etc/ld.conf.so hinzu und führen Sie ldconfig aus .

Interessanterweise sind dies die Ergebnisse, die ich bekomme. _ / Usr / lib_ und _ / usr / lib64_ gehören nicht zu ihnen, aber irgendwie sind viele Unterverzeichnisse von _ / usr / lib64_ aufgeführt. $ ldconfig -v 2> / dev / null | grep -v ^ $ '\ t' / usr / lib64 / atlas: / usr / lib64 / dyninst: / usr / lib64 / iscsi: / usr / lib64 / mysql: /usr/lib64/qt-3.3/lib: / lib : / lib64: / lib / sse2: (hwcap: 0x0000000004000000) / lib64 / sse2: (hwcap: 0x0000000004000000) / lib64 / tls: (hwcap: 0x8000000000000000) `Ist dies für CentOS 7 normal? Keegan Dent vor 5 Jahren 0
Ich denke, es ist in Ordnung. Ich habe jedoch nie CentOS verwendet. Ibraheem Moosa vor 5 Jahren 0
Hier hatte jemand ähnliche Ausgaben wie Sie. https://stackoverflow.com/questions/9922949/how-to-print-the-ldlinker-search-path Ibraheem Moosa vor 5 Jahren 0