Я уже задавал этот вопрос на 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). У вас есть причина не использовать пакет дистрибутива?