Problem mit LD_LIBRARY_PATH, Programm kann eine Bibliothek nicht finden.

Problem mit LD_LIBRARY_PATH, Programm kann eine Bibliothek nicht finden.

Ich habe diese Frage bereits auf Stackoverflow gestellt, aber es ist auch eine Linux-bezogene Frage und jemand hier kennt vielleicht eine Lösung. Hoffe, es ist okay.

Das Problem besteht darin, dass ich die 3D-Visualisierung im Paraprof-Programm unter ARM Linux nicht ausführen kann. Ich betreibe einen kleinen Cluster (8 Knoten) mit armhf Debian Wheezy 7.1 mit OpenMPI.

Ich verwende das Profilierungstool Tau OpenMPI und es verfügt über ein sehr schönes Visualisierungstool namens Paraprof.

Ich habe ein Problem mit der 3D-Visualisierung mit Paraprof. Wenn ich versuche, es auszuführen, wird Folgendes angezeigt:

/home/cluster/tool/tau-2.22.2/lib/libjogl_drihack.so :/home/cluster/tool/tau-2.22.2/lib/libjogl_drihack.so cannot open shared object: No such file or directory

Ich denke, es liegt ein Problem mit den Pfadeinstellungen der Bibliotheken vor, da der Pfad doppelt vorhanden ist. Interessanterweise befindet sich libjogl_drihack.so in diesem Verzeichnis. LD_LIBRARY_PATH ist korrekt wie folgt eingestellt:

/usr/local/lib/:/home/cluster/tools/tau-2.22.2/arm_linux/lib/

OpenGL ist installiert (ich kann glxinfo ausführen) und alle libjogl-Pakete.

Screenshots anhängen.https://www.dropbox.com/s/x54xpo5c2kjzew8/tau1.png https://www.dropbox.com/s/mimze22pcl6vxkq/tau2.png

Weitere Informationen:

root@master:~# ldd
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libjogl_drihack.so
    not a dynamic executable
root@master:~# ls /home/cluster/tools/tau-2.22.2/arm_linux/lib/lib*.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libjogl_awt.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libjogl_drihack.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libjogl.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTauDisable.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTAUsh-depthlimit-mpi-pdt.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTAUsh-depthlimit-mpi-pdt-trace.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTAUsh-mpi-pdt.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTAUsh-mpi-pdt-trace.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTAUsh-param-mpi-pdt-profile-trace.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTAUsh-param-mpi-pdt.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTAUsh-pthread-pdt.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTAUsh-pthread.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTAUsh.so
/home/cluster/tools/tau-2.22.2/arm_linux/lib/libTAU.so
root@master:~# uname -a
Linux master 3.8.13-bone26 #1 SMP Fri Aug 16 20:56:24 UTC 2013 armv7l GNU/Linux
root@master:~#

OpenGL:

root@master:~$ glxinfo | grep OpenGL
OpenGL vendor string:Mesa Project
OpenGL renderer string: Software Rasterizer
OpenGL version string: 2.1 Mesa 8.0.5
OpenGL shading language version string: 1.20
OpenGL extensions

Das Konfigurationsskript für Tau suchte im Verzeichnis /usr/lib nach libGL.so. Auf meinem System befindet sich diese Datei in /usr/lib/arm-linux-gnueabihf, also habe ich sie nach /usr/lib kopiert, aber immer noch kein Glück. Derselbe Fehler besteht weiterhin.

Antwort1

/home/cluster/tools/tau-2.22.2/arm_linux/lib/libjogl_drihack.so
    not a dynamic executable

Das bedeutet, was es sagt. Es ist eines oder mehrere der folgenden:

  • Keine echte .so-Datei.
  • Nicht ausführbar.
  • Für eine andere Architektur kompiliert.

Prüfen Sie die Ausgabe von file libjogl_drihack.so(Sie benötigen dort den richtigen Pfad).

Ich bin kein OpenMPI- oder Tau-Benutzer, aber mir ist aufgefallen, dass es ein Tau-Paket für armhf Wheezy gibt (oder zumindest für Raspbian). Ich bezweifle jedoch, dass sich dies in installieren lässt /home/cluster, also verwenden Sie offensichtlich etwas anderes.

Wenn Sie das Ganze auf dem System kompiliert haben, sollte dies auch nicht passieren. Aber wenn Sie die Binärdateien von woanders kopiert/erstellt haben, ist das Ihr Problem (beachten Sie, dass es mehr als eine ARM-Architektur gibt). Haben Sie einen Grund, das Distributionspaket nicht zu verwenden?

verwandte Informationen