GNU MPFR을 설치하려고 합니다. 소스코드를 다운받아서 cd
넣고 입력을 했더니 ./configure
여러번의 확인을 거쳤는데(제가 아는 한 다 괜찮았습니다.) 무대에 오르면 문제가 발생합니다 config.status: creating Makefile
. 이것이 말하는 내용입니다:
configure: creating ./config.status
config.status: creating Makefile
dyld: Library not loaded: /usr/local/opt/mpfr/lib/libmpfr.4.dylib
Referenced from: /usr/local/bin/gawk
Reason: image not found
./config.status: line 1108: 36325 Done(141) eval sed \"\$ac_sed_extra\" "$ac_file_inputs"
36326 Abort trap: 6 | $AWK -f "$ac_tmp/subs.awk" > $ac_tmp/out
config.status: error: could not create Makefile
이상하지 않나요? 설치하려고 하는데libmpfr 4, 이는 분명히 필요합니다.libmpfr.4.dylib로드됩니다.
어떤 제안이 있으십니까?
답변1
첫째, libmpfr.4.dylib
GNU MPFR 3.x(3.0.x 및 3.1.x) 및 libmpfr.6.dylib
GNU MPFR 4.0.x(현재 최신 버전)에서 제공되므로 이전 MPFR 버전과 ABI 호환되지 않습니다.
참고: 소프트웨어 버전(3.0.x, 3.1.x, 4.0.x 등)과 라이브러리 버전 관리(생산 전 번호 .dylib
)를 혼동해서는 안 됩니다(이 기능이 어떻게 작동하는지에 대한 세부정보).
따라서 귀하의 버전은 /usr/local/bin/gawk
제거된 것으로 보이는 MPFR 3.x를 기반으로 구축되었습니다. MPFR 4.x로 대체된 것 같습니다(두 라이브러리 버전 모두 함께 설치할 수 있지만 일부 패키징 시스템은 이러한 기능을 지원하지 않습니다). 존재 하는지 확인할 수 있습니다 /usr/local/opt/mpfr/lib/libmpfr.6.dylib
. 이 경우 GNU MPFR을 다시 설치할 필요는 없지만 다음을 수행해야 합니다.
문제는 MPFR 3.x용으로 제작되었지만 더 이상 존재하지 않는 gawk와 같은 오래된 소프트웨어를 사용하고 있다는 것입니다. 해결 방법은 해당 소프트웨어를 제거하고(오류가 발생하지 않도록) MPFR 4.x용으로 다시 설치하는 것입니다.
참고: MPFR 4.x가 설치되지 않은 경우 설치해야 하지만 시스템이 이미 일부 도구(예: gawk)를 컴파일된 형식으로 제공할 수 있습니다(이전 버전일 수도 있지만 부트로더에는 이것으로 충분합니다). 또한 혼합 빌드/패키징 시스템을 피하세요. Homebrew를 통해 MPFR을 설치한 경우 gawk에도 이 작업을 수행하면 패키지를 다시 설치해야 합니다(MPFR 3.x 및 4.x의 예).