Linux Ubuntu 3.16.0-31-generic의 서버에서 프로그램을 실행하려고 하는데 다음 오류가 발생합니다.
공유 라이브러리 로드 오류: libmpich.so.3: 공유 개체 파일을 열 수 없습니다. 해당 파일 또는 디렉터리가 없습니다.
온라인에서 해결책을 검색했는데 누군가 설정에 관해 이야기하는 것을 봤습니다.LD_LIBRARY_PATH어떻게든. 대부분의 방법에는 sudo가 필요하지만 관리자 권한이 없어서 사용할 수 없습니다.
이것이 실제로 문제를 해결합니까? 그렇다면 어떻게 설정하나요?
답변1
이 설정에는 권한이 필요하지 않습니다.ENV
("환경 변수" 섹션 참조)바꾸다.
그리고 공유 객체가 손실되었기 때문에달리기그리고설치하다앱은 전혀 설정할 필요가 없습니다. include가 누락되었습니다 . libmpich.so
"deb" 패키지 저장소에서 공유 객체를 포함하는 libmpich.so
항목을 찾아서 설치하세요. 그것을 찾으려면 다음 방법을 시도해 보십시오.
$ apt-cache search mpich
이제 질문으로 돌아갑니다.
이를 달성하는 방법에는 여러 가지가 있습니다. 전체 세션에 대해 직접 설정하거나, 영구적으로 설정하거나, 컴파일 타임에 컴파일러에 알립니다.
운영 체제 환경 변수 변경과 관련하여 가장 빠르고 덜 침해적인 방법은 컴파일 프로세스에 대해 설정하는 것입니다.
$ LD_LIBRARY_PATH=/lib:/lib64:/usr/lib:/usr/lib64 run-binary-command
또는 다음과 같이 현재 세션에 대해 설정할 수 있습니다.
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/lib64:/usr/lib:/usr/lib64
영구적으로 설정합니다.
$ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/lib64:/usr/lib:/usr/lib64' >> ~/.profile