Problema com LD_LIBRARY_PATH, o programa não consegue encontrar uma biblioteca.

1

Eu já fiz essa pergunta no stackoverflow, mas também é uma questão relacionada ao Linux e alguém aqui pode conhecer uma solução. Espero que esteja tudo bem.

O problema é que não posso executar a visualização 3D no programa Paraprof no ARM Linux. Eu estou executando um pequeno cluster (8 nós) usando armhf Debian Wheezy 7.1 com OpenMPI.

Estou usando a ferramenta de perfil Tau OpenMPI e tenho uma ferramenta de visualização muito interessante chamada Paraprof.

Eu tenho um problema com a visualização 3D com paraprof. Quando tento executá-lo, diz 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

Acho que é um problema com as configurações dos caminhos das bibliotecas, porque o caminho é duplicado. Curiosamente, libjogl_drihack.so está neste diretório. LD_LIBRARY_PATH está definido corretamente como:

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

O OpenGL está instalado (eu posso rodar o glxinfo) e todos os pacotes do libjogl.

Anexando capturas de tela. link link

Mais algumas informações:

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

O script de configuração para o Tau estava procurando por libGL.so no diretório / usr / lib, no meu sistema esse arquivo está em / usr / lib / arm-linux-gnueabihf então eu copiei para o / usr / lib, mas ainda sem sorte. O mesmo erro persiste.

    
por zdun8 05.10.2013 / 14:21

1 resposta

3

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

Isso significa o que diz. É um ou mais de:

  • Não é um arquivo real .so.
  • Não executável.
  • Compilado para uma arquitetura diferente.

Verifique a saída de file libjogl_drihack.so (você precisa do caminho correto).

Eu não sou um usuário openMPI ou Tau, mas percebo que há um pacote Tau disponível para o armhf Wheezy (ou pelo menos para o raspbian). No entanto, duvido que isso seja instalado em /home/cluster , então, evidentemente, você está usando outra coisa.

Se você compilou a coisa toda no sistema, isso também não deveria acontecer. Mas se você copiou / construiu os binários de algum outro lugar, esse é o seu problema (note que há mais de uma arquitetura ARM). Você tem um motivo para não usar o pacote de distro?

    
por 05.10.2013 / 16:32

Tags