大学の課題のためのフレームワークを実行しようとすると、次のメッセージが表示されます。
$ ./Assignment
./Assignment: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory
私は大学でコンピュータを使用しています。これは、root アクセス権がないことを意味します。ただし、問題が正確に何であるかがわかったら、管理者が助けることができます。
- CUDAがインストールされているようです(
nvidia-smi
そしてnvcc --help
両方とも機能します)。 libOpenCl.so
システムに存在
私のシステムに関する情報
$ echo $LD_LIBRARY_PATH
:/opt/cuda-7.5/lib64:/home/stud/s_thoma/cuda
$ echo $LIBGL_DRIVERS_PATH
:/home/stud/s_thoma/cuda:/opt/cuda-7.5/lib64:/home/stud/s_thoma/cuda
/opt/cuda-7.5/lib64$ ls
libcublas_device.a libcuinj64.so.7.5.18 libnppi.so.7.5.18
libcublas.so libculibos.a libnppi_static.a
libcublas.so.7.5 libcurand.so libnpps.so
libcublas.so.7.5.18 libcurand.so.7.5 libnpps.so.7.5
libcublas_static.a libcurand.so.7.5.18 libnpps.so.7.5.18
libcudadevrt.a libcurand_static.a libnpps_static.a
libcudart.so libcusolver.so libnvblas.so
libcudart.so.7.5 libcusolver.so.7.5 libnvblas.so.7.5
libcudart.so.7.5.18 libcusolver.so.7.5.18 libnvblas.so.7.5.18
libcudart_static.a libcusolver_static.a libnvrtc-builtins.so
libcufft.so libcusparse.so libnvrtc-builtins.so.7.5
libcufft.so.7.5 libcusparse.so.7.5 libnvrtc-builtins.so.7.5.18
libcufft.so.7.5.18 libcusparse.so.7.5.18 libnvrtc.so
libcufft_static.a libcusparse_static.a libnvrtc.so.7.5
libcufftw.so libnppc.so libnvrtc.so.7.5.17
libcufftw.so.7.5 libnppc.so.7.5 libnvToolsExt.so
libcufftw.so.7.5.18 libnppc.so.7.5.18 libnvToolsExt.so.1
libcufftw_static.a libnppc_static.a libnvToolsExt.so.1.0.0
libcuinj64.so libnppi.so libOpenCL.so
libcuinj64.so.7.5 libnppi.so.7.5 stubs
~/cuda$ ls
libOpenCL.so.1
$ uname -a
Linux i08pc71 4.0.4-303.ATIS.aufs4.0.fc22.x86_64 #1 SMP Wed Jun 3 13:02:20 CEST 2015 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Fedora release 22 (Twenty Two)
Kernel \r on an \m (\l)
答え1
strace
問題をデバッグするのに役立ちます。動的リンカーが libOpenCL.so.1 を探す場所が表示されます。ディレクトリに壊れたシンボリックリンクがある可能性があります~/cuda
。
これを正しくテストするには、straceバイナリをインストールまたは入手してから、次のように実行します。
strace -f -v -s150 ./Assignment 2>&1 | fgrep libOpenCL.so.1