LD_LIBRARY_PATHに問題があり、プログラムがライブラリを見つけることができませんでした。

LD_LIBRARY_PATHに問題があり、プログラムがライブラリを見つけることができませんでした。

私は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パッケージを使用しない理由はありますか?

おすすめ記事