簡體   English   中英

魚殼似乎在忽略LD_LIBRARY_PATH?

[英]fish shell seems to be ignoring LD_LIBRARY_PATH?

在啟動darknet之前,我需要為CUDA設置LD_LIBRARY_PATH 看起來像這樣:

echo $LD_LIBRARY_PATH
/usr/local/cuda/lib64

當應用程序啟動時,它無法加載應該在該目錄中找到的庫:

./darknet 
./darknet: error while loading shared libraries: libcudart.so.10.0:
cannot open shared object file: No such file or directory

但是該庫肯定在該目錄中:

ldd /usr/local/cuda/lib64/libcudart.so.10.0
    linux-vdso.so.1 =>  (0x00007ffe7bf2d000)
    ...etc...

我假設我在魚中未正確設置LD_LIBRARY_PATH。 這是我最初在魚中做的方式:

set -U LD_LIBRARY_PATH /usr/local/cuda/lib64
echo $LD_LIBRARY_PATH
/usr/local/cuda/lib64

當我在bash中嘗試完全相同的事情時,它可以正常工作

bash
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
./darknet 
usage: ./darknet <function>

所有這些都是在運行fish 2.2.0和bash 4.3.48的64位Ubuntu 16.04.6上進行的。

您沒有導出變量。 相反,請執行以下操作:

set -Ux LD_LIBRARY_PATH /usr/local/cuda/lib64
./darknet 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM