CUDA에 대한 LD_LIBRARY_PATH 설정


12

CUDA 툴킷을 설치하면 다음 지시 사항이 콘솔에 인쇄됩니다.

64 비트 Linux 배포판의 LD_LIBRARY_PATH에 /usr/local/cuda-5.0/lib64가 포함되어 있는지 확인하십시오 : /usr/local/cuda-5.0/lib

또는

64 비트 Linux 배포의 경우 /usr/local/cuda-5.0/lib64 및 /usr/local/cuda-5.0/lib를 /etc/ld.so.conf에 추가하고 루트로 ldconfig를 실행하십시오.

다음 코드는 /etc/profile효과가 없습니다.

if [ -z "$LD_LIBRARY_PATH" ]; then    
  LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
else
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
fi
export LD_LIBRARY_PATH

즉, 재부팅 및 발행 echo $LD_LIBRARY_PATH은 변수가 정의되지 않았 음을 나타냅니다.

다른 제안을 시도하기 위해 파일에 두 줄을 추가하여 /etc/ld.so.conf파일이 다음과 같이 보이도록했습니다.

include /etc/ld.so.conf.d/*.conf 
/usr/local/cuda-5.0/lib64
/usr/local/cuda-5.0/lib

그런 다음 나는 발행했다.

sudo ldconfig

그때

echo $LD_LIBRARY_PATH

여전히 환경 변수가 설정되지 않았습니다. 위에 표시된 CUDA 설치 지침을 어떻게 준수합니까?


1
ldconfig는 LD_LIBRARY_PATH를 설정하지 않으며 다른 방식으로 라이브러리를 포함합니다.
w4etwetewtwet

답변:


17

라이브러리의 경로가 포함 된 .conf확장자를 가진 파일을 추가 한 /etc/ld.so.conf.d/다음 ldconfig를 실행하십시오. 디렉토리의 다른 파일과 일치하도록 파일의 권한 및 소유권을 설정하십시오.

이것은 .bashrc를 수정하는 사용자 별 솔루션과 달리 시스템 전체 솔루션입니다.

내 시스템에 내가 만든 nvidia.conf에서 /etc/ld.so.conf.d/. 파일에는 다음 줄이 포함됩니다.

/usr/local/cuda-5.0/lib64
/usr/local/cuda-5.0/lib

파일을 만들면 sudo권한이 좋아야하지만 nvidia.conf소유자 / 그룹 루트 및 rw-r--r-(또는 644)입니다.


1
작동하지 않는 것 같습니다. ldconfig는 $ LD_LIBRARY_PATH를 설정하지 않습니다.
Nick

1
내 이해는 경로 변수를 설정할 필요가없는 방식으로 문제를 해결한다는 것입니다. 따라서 "작동하지 않습니다"는 변수가 설정되어 있지 않다는 것을 의미합니다. "작동하지 않는다"는 것이 CUDA가 작동하지 않는다는 것을 의미하는 경우, 내 설정에서 CUDA 개발을 활성화 (및 계속 활성화)함에 따라 문제에 대한 추가 정보가 필요합니다.
로건 메이필드

나는 그것이 어떤 것들을 위해 작동한다고 확신합니다. 컴파일하려고했던 프로그램은 아마도 가장 좋은 연습이 아닌 $ LD_LIBRARY_PATH를 사용하고 싶습니다. 설정해야한다는 것을 의미합니다!
Nick

10

에 다음을 입력하십시오 .bashrc.

if [ -z $LD_LIBRARY_PATH ]; then
  LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
else
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
fi
export LD_LIBRARY_PATH

선호하는 방법은 .conf 파일을 만드는 것입니다. 아래 답변에서 이것을 설명했습니다.
로건 메이필드
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.