D 컴파일러를 사용할 때 공유 객체 파일을 열 수 없습니다

D 컴파일러를 사용할 때 공유 객체 파일을 열 수 없습니다

나는 가지고있다LDC2그리고글로벌 개발 센터소스에서 컴파일되어 한 달 전까지 작업 중이었습니다. ldc2와 gdc가 작동하도록 터미널에 설정한 변수를 기억할 수 없다는 점을 제외하고는 아무것도 변경되지 않았습니다.

$ /home/Code/D/gdc/Bin/usr/local/bin/gdc -o t4 t4.dgdc( ) 를 사용하여 D 소스 코드를 컴파일하려고 하면 다음 오류가 발생합니다.
/home/Code/D/gdc/Bin/usr/local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.4.5/cc1d: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory

ldc2( /home/Code/D/ldc2/bin/ldc2 -o t4 t4.d)의 경우:
/home/Code/D/ldc2/bin/ldc2: error while loading shared libraries: libconfig++.so.8: cannot open shared object file: No such file or directory

PATH에 대한 보완인지 DFLAGS에 대한 보완인지는 기억이 나지 않습니다. 어떤 아이디어가 있나요?

답변1

여기서는 필요한 라이브러리를 찾을 수 없기 때문에 컴파일러 실행 파일을 실행할 수도 없습니다. gdc찾고 libmpfr.so.1검색 ldc2합니다 libconfig++.so.8.

라이브러리가 시스템(예: )에 여전히 존재하는 경우 /home/Code/D/gdc/Bin/usr/local/lib해당 디렉토리를 환경 변수에 추가할 수 있습니다 LD_LIBRARY_PATH(대부분의 unice에서는 변수를 이라고 함 DYLD_LIBRARY_PATH).

LD_LIBRARY_PATH=/home/Code/D/gdc/Bin/usr/local/lib gdc …

gdc합계를 실행하는 래퍼 스크립트를 작성 ldc2하거나 다음 항목에 넣을 수 있습니다 ~/.profile.

export LD_LIBRARY_PATH=/home/Code/D/gdc/Bin/usr/local/lib

시스템 업그레이드 중에 이러한 라이브러리가 나타났다가 사라지면 /usr/lib필요한 버전을 복원하거나 라이브러리의 새 버전에 맞게 D 도구를 다시 컴파일해야 합니다.

관련 정보