【发布时间】:2019-08-14 21:09:55
【问题描述】:
在启动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...
我假设我没有在 fish 中正确设置 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 上。
【问题讨论】: