Problema con LD_LIBRARY_PATH, el programa no puede encontrar una biblioteca.

Problema con LD_LIBRARY_PATH, el programa no puede encontrar una biblioteca.

Ya hice esta pregunta en stackoverflow, pero también es una pregunta relacionada con Linux y alguien aquí podría conocer una solución. Espero que esté bien.

El problema es que no puedo ejecutar la visualización 3D en el programa Paraprof en ARM Linux. Estoy ejecutando un clúster pequeño (8 nodos) usando armhf Debian Wheezy 7.1 con OpenMPI.

Estoy usando la herramienta de creación de perfiles Tau OpenMPI y tiene una herramienta de visualización muy buena llamada Paraprof.

Tengo un problema con la visualización 3D con paraprof. Cuando intento ejecutarlo dice que:

/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

Creo que es un problema con la configuración de las rutas de las bibliotecas, porque la ruta se duplica. Curiosamente, libjogl_drihack.so se encuentra en este directorio. LD_LIBRARY_PATH está configurado correctamente como:

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

OpenGL está instalado (puedo ejecutar glxinfo) y todos los paquetes libjogl.

Adjuntando capturas de pantalla.https://www.dropbox.com/s/x54xpo5c2kjzew8/tau1.png https://www.dropbox.com/s/mimze22pcl6vxkq/tau2.png

Algo más de información:

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:~#

AbiertoGL:

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

El script de configuración para Tau estaba buscando libGL.so en el directorio /usr/lib, en mi sistema este archivo está en /usr/lib/arm-linux-gnueabihf así que lo copié en /usr/lib, pero todavía no suerte. El mismo error persiste.

Respuesta1

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

Esto significa lo que dice. Es uno o más de:

  • No es un archivo .so real.
  • No ejecutable.
  • Compilado para una arquitectura diferente.

Verifique la salida de file libjogl_drihack.so(necesita la ruta correcta allí).

No soy usuario de openMPI o Tau, pero noté que hay un paquete Tau disponible para armhf Wheezy (o al menos lo hay para raspbian). Sin embargo, dudo que esto se instale en /home/cluster, por lo que evidentemente estás usando otra cosa.

Si compiló todo en el sistema, esto tampoco debería suceder. Pero si copió/construyó los binarios desde otro lugar, ese es su problema (tenga en cuenta que hay más de una arquitectura ARM). ¿Tiene algún motivo para no utilizar el paquete de distribución?

información relacionada