我已經在 stackoverflow 上問過這個問題,但這也是一個與 Linux 相關的問題,這裡有人可能知道解決方案。希望沒事。
問題是我無法在 ARM Linux 上的 Paraprof 程式中執行 3D 視覺化。我正在使用帶有 OpenMPI 的armhf Debian Wheezy 7.1 運行一個小型叢集(8 個節點)。
我正在使用 Tau OpenMPI 分析工具,它有一個非常好的視覺化工具,稱為 Paraprof。
我在使用 paraprof 進行 3D 視覺化時遇到問題。當我嘗試運行它時,它說:
/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 的配置腳本在/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
這就是它所說的意思。它是以下一項或多項:
- 不是真正的 .so 檔。
- 不可執行。
- 針對不同的架構進行編譯。
檢查輸出file libjogl_drihack.so
(您需要那裡的正確路徑)。
我不是 openMPI 或 Tau 用戶,但我注意到有一個適用於 armhf Wheezy 的 Tau 軟體包(或至少有適用於 raspbian)。但是,我懷疑這會安裝到 中/home/cluster
,所以顯然您正在使用其他東西。
如果您在系統上編譯了整個內容,則不應該發生這種情況。但是,如果您從其他地方複製/建立二進位文件,那就是您的問題(請注意,有不止一種 ARM 架構)。您有不使用發行版軟體包的理由嗎?