공유 라이브러리 로드 오류: libOpenCL.so.1: 공유 개체 파일을 열 수 없습니다. 해당 파일 또는 디렉터리가 없습니다.

공유 라이브러리 로드 오류: libOpenCL.so.1: 공유 개체 파일을 열 수 없습니다. 해당 파일 또는 디렉터리가 없습니다.

대학 과제를 위한 프레임워크를 실행하려고 하면 다음과 같은 메시지가 나타납니다.

$ ./Assignment 
./Assignment: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory

나는 대학에서 컴퓨터를 사용한다. 이는 루트 액세스 권한이 없음을 의미합니다. 그러나 문제가 정확히 무엇인지 알 수 있다면 관리자가 도움을 줄 수 있을 것입니다.

  • 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

관련 정보