Проблема с LD_LIBRARY_PATH, программа не может найти библиотеку.

Проблема с LD_LIBRARY_PATH, программа не может найти библиотеку.

Я уже задавал этот вопрос на stackoverflow, но это также вопрос, связанный с Linux, и кто-то здесь может знать решение. Надеюсь, это нормально.

Проблема в том, что я не могу запустить 3D визуализацию в программе Paraprof на ARM Linux. Я запускаю небольшой кластер (8 узлов) с использованием armhf Debian Wheezy 7.1 с OpenMPI.

Я использую инструмент профилирования Tau OpenMPI, в котором есть очень хороший инструмент визуализации под названием Paraprof.

У меня проблема с 3D визуализацией с помощью paraprof. Когда я пытаюсь запустить его, он пишет:

/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

Я думаю, что проблема в настройках путей к библиотекам, потому что путь дублируется. Интересно, что libjogl_drihack.so находится в этом каталоге. LD_LIBRARY_PATH установлен правильно, как:

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

Установлен OpenGL (я могу запустить glxinfo) и все пакеты libjogl.

Прикрепляю скриншоты.https://www.dropbox.com/s/x54xpo5c2kjzew8/tau1.png https://www.dropbox.com/s/mimze22pcl6vxkq/tau2.png

Еще немного информации:

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

Скрипт конфигурации для Tau искал libGL.so в каталоге /usr/lib, в моей системе этот файл находится в /usr/lib/arm-linux-gnueabihf, поэтому я скопировал его в /usr/lib, но все равно безуспешно. Та же ошибка сохраняется.

решение1

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

Это означает то, что написано. Это одно или несколько из:

  • Не настоящий файл .so.
  • Неисполняемый.
  • Скомпилировано для другой архитектуры.

Проверьте вывод file libjogl_drihack.so(вам нужен правильный путь).

Я не являюсь пользователем openMPI или Tau, но я заметил, что есть пакет Tau, доступный для armhf Wheezy (или, по крайней мере, для raspbian). Однако я сомневаюсь, что он установится в /home/cluster, так что, очевидно, вы используете что-то другое.

Если вы скомпилировали все это в системе, этого тоже не должно произойти. Но если вы скопировали/собрали двоичные файлы откуда-то еще, это ваша проблема (обратите внимание, что существует более одной архитектуры ARM). У вас есть причина не использовать пакет дистрибутива?

Связанный контент