2016-02-15 45 views
1

我在服務器中有一個python文件。我運行該文件沒有任何錯誤。調用ssh時LD_LIBRARY_PATH錯誤

但是,當我從不同的計算機通過ssh運行該文件,

cat hello.py | ssh [email protected] python - 

我得到以下錯誤:

ImportError: libcudart.so.7.5: cannot open shared object file: No such file or directory 

我怎樣才能解決這個問題?

+1

您是否在遠程計算機上安裝了lib? –

+0

是的,它在遠程計算機上工作正常。 – yusuf

回答

1

如果我沒有理解properly-在一臺服務器,但不是在服務器B.

服務器B是你在任何地方ssh'ing到一個你hello.py文件運行。

您的錯誤似乎表明服務器B上的環境未正確設置以執行hello.py文件。如果您的服務器運行的是Linux操作系統,關閉我的頭頂我會比較

/etc/profile 
/etc/profile.local 
/etc/bash.bashrc.local 
/etc/csh.cshrc.local 

工作服務器和非工作的服務器之間, 也做了

echo $LD_LIBRARY_PATH 

上每個服務器觀察任何差異。 看來服務器B沒有爲nvidia cuda庫設置環境,特別是LD_LIBRARY_PATH環境變量。 或者您沒有在服務器B上安裝cuda庫。 如果兩種情況都不是這樣,那麼我會查看服務器B上的/etc/ssh/sshd_config文件,以查看是否存在任何環境限制以防止發生完整的登錄環境,即導致你的問題。

+0

服務器B是覆盆子pi。由於我無法在樹莓派上運行cuda,因此我需要連接到服務器A以使用cuda並獲取輸出。 – yusuf

1

好的,我認爲你的問題是雙重的。 一個是有Nvidia CUDA的服務器A不是通過網絡將圖形發送到你的樹莓派,這可能是沿着服務器A的sshd配置下的Forward X11圖形的線路。但是如果你使用的是簡單的ssh終端從你的覆盆子pi那麼這也是一個問題,因爲我不相信圖形可以通過連接方法顯示。 第二部分,我會打賭用nvidia CUDA服務器A的錢,是CUDA運行並顯示在:0.0顯卡vga/dvi端口去顯示器。這是顯示:0.0,並且不能在沒有使用某些第三方軟件的情況下通過網絡重定向;我所知道的這兩件事是Real-vnc和NxMachine。我遇到類似的問題,通過tightvnc和其他遠程桌面程序遠程連接到linux服務器,並嘗試在服務器上運行軟件時出現OpenGL渲染錯誤。這可以通過讓服務器運行可以成功重定向顯示的軟件來解決:在網絡上使用0.0圖形,然後你需要客戶端軟件[在你的樹莓派上]來顯示這些圖形。