私はstackoverflowでこの質問をしましたが、Linux関連の質問でもあり、ここで誰かが解決策を知っているかもしれません。よろしくお願いします。
問題は、ARM LinuxのParaprofプログラムで3D可視化を実行できないことです。私はOpenMPIでarmhf Debian Wheezy 7.1を使用して小規模クラスタ(8ノード)を実行しています。
私はParaprofという本当に素晴らしいビジュアライゼーションツールを備えたTau OpenMPIプロファイリングツールを使用しています。
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
パスが2倍に増えてライブラリパス設定の問題だと思います。興味深いことに、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:~#
オープンGL:
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の設定スクリプトは/usr/libディレクトリでlibGL.soを探します。私のシステムでは/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
それが言うことです。次の1つ以上です。
- 実際の.soファイルではありません。
- 施行できません。
- さまざまなアーキテクチャに合わせてコンパイルします。
出力を確認してくださいfile libjogl_drihack.so
(正しいパスが必要です)。
私はopenMPIまたはTauユーザーではありませんが、armhf Wheezy用のTauパッケージがあることを知っていました(または少なくともraspbian用のパッケージがあります)。しかし、これが にインストールされるのか疑わしい/home/cluster
ので、明らかに別のものを使っているのです。
システムがコンテンツ全体をコンパイルしても、これは起こらないでください。ただし、他の場所でバイナリをコピー/ビルドする場合は問題になります(ARMアーキテクチャが2つ以上あります)。 distroパッケージを使用しない理由はありますか?