Problema com LD_LIBRARY_PATH, o programa não consegue encontrar um libraray.

Problema com LD_LIBRARY_PATH, o programa não consegue encontrar um libraray.

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

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

Estou usando a ferramenta de criação de perfil Tau OpenMPI e ela tem uma ferramenta de visualização muito boa chamada Paraprof.

Tenho um problema com a visualização 3D com o paraprof. Quando tento executá-lo ele 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 (posso executar o glxinfo) e todos os pacotes libjogl.

Anexando capturas de tela.https://www.dropbox.com/s/x54xpo5c2kjzew8/tau1.png https://www.dropbox.com/s/mimze22pcl6vxkq/tau2.png

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 do 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 copiei para o /usr/lib, mas ainda não sorte. O mesmo erro persiste.

Responder1

/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 dos seguintes:

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

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

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

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

informação relacionada