내 MAC OS는 Yosemite 10.10이고 이전 버전의 컬이 있습니다. Xcode 및 Xcode 명령줄 도구를 설치했습니다.
I run cURL with the "sudo" command as “sudo curl”:
sudo curl
Password:
curl: try 'curl --help' or 'curl --manual' for more information
However, when I run curl under the common user in the the terminal, it failed as follows:
dyld: Library not loaded: /usr/lib/libcurl.4.dylib
Referenced from: /usr/bin/curl
Reason: Incompatible library version: curl requires version 7.0.0 or later, but libcurl.4.dylib provides version 5.0.0
Trace/BPT trap: 5
I also downloaded the curl version of 7.43, and installed in /usr/local/bin.
— "which curl” shows “/usr/local/bin/curl”
— otool shows:
otool -L /usr/local/bin/curl
/usr/local/bin/curl:
/usr/local/lib/libcurl.4.dylib (compatibility version 8.0.0, current version 8.0.0)
/usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
/System/Library/Frameworks/LDAP.framework/Versions/A/LDAP (compatibility version 1.0.0, current version 2.4.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
otool -L /usr/local/lib/libcurl.4.dylib
/usr/local/lib/libcurl.4.dylib:
/usr/local/lib/libcurl.4.dylib (compatibility version 8.0.0, current version 8.0.0)
/usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
/System/Library/Frameworks/LDAP.framework/Versions/A/LDAP (compatibility version 1.0.0, current version 2.4.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
그러나 컬은 여전히 "sudo"에서 작동하지만 일반 사용자에게는 실패합니다.
dyld: Library not loaded: /usr/local/lib/libcurl.4.dylib
Referenced from: /usr/local/bin/curl
Reason: Incompatible library version: curl requires version 8.0.0 or later, but libcurl.4.dylib provides version 5.0.0
Trace/BPT trap: 5
한편, 이전 솔루션(homebrew를 사용하여 컬을 설치하려고 하면 libcurl.4.dylib에 대해 "호환되지 않는 라이브러리 버전"이 표시됩니다.) 내 경우에는 맞지 않습니다.
- 더- -
실제로 libcurl을 호출하는 명령은 동일한 정보로 실행될 수 없는 것 같습니다. 예를 들면 다음과 같습니다.
--맥 포트:
[user @MBK ~]$port
dlopen(/opt/local/libexec/macports/lib/pextlib1.0/Pextlib.dylib, 6): Library not loaded: /usr/lib/libcurl.4.dylib
Referenced from: /opt/local/libexec/macports/lib/pextlib1.0/Pextlib.dylib
Reason: Incompatible library version: Pextlib.dylib requires version 7.0.0 or later, but libcurl.4.dylib provides version 5.0.0
while executing "load /opt/local/libexec/macports/lib/pextlib1.0/Pextlib.dylib"
("package ifneeded Pextlib 1.0" script)
invoked from within "package require Pextlib 1.0"
(file "/opt/local/bin/port" line 47)
--네트워크 CDF:
[user@MBK ~]$ncdump
dyld: Library not loaded: /opt/local/lib/libcurl.4.dylib
Referenced from: /opt/local/bin/ncdump
Reason: Incompatible library version: ncdump requires version 8.0.0 or later, but libcurl.4.dylib provides version 5.0.0
Trace/BPT trap: 5
마찬가지로 "sudo" 명령도 작동합니다.
답변1
비슷한 문제가 발생하여 실행 중이었습니다.
curl http://some.site
준
dyld: Library not loaded: @rpath/libssl.1.0.0.dylib
Referenced from: /Users/samh/anaconda3/lib/libssh2.1.dylib
Reason: image not found
그러나 달리는 것이 conda install libssh2
이 문제를 해결했습니다. 컬이 내 컴퓨터에서 몇 년 동안 작동해 왔기 때문에 이것은 나에게 이해가 되지 않습니다. 그러나 적어도 지금은 작동합니다.
답변2
curl
이상적으로는 : 을 통해 다시 설치 brew reinstall curl
해야 호환되지 않는 라이브러리가 다시 연결됩니다(.dylib
문서).
그래도 도움이 되지 않으면 DYLD_LIBRARY_PATH
및 DYLD_FALLBACK_LIBRARY_PATH
변수의 값을 다시 확인하세요. 잘못 구성된 값으로 인해 이러한 문제가 발생할 수 있습니다(예: 귀하의 값을 확인하세요 ~/.bashrc
). 설정을 해제하는 것이 이상적입니다. 그렇지 않으면 설정하지 않은 경우 다음과 같이 설정해 보세요.
export DYLD_FALLBACK_LIBRARY_PATH="/usr/X11/lib:/usr/lib"
유제:딜립과 OS X.
답변3
두 가지 문제가 있거나 sudo sh -c 'type curl';type curl
두 가지 유형의 명령이 모두 동일한 파일을 표시하는 경우 어떤 유형의 명령인지 파악하는 데 어려움을 겪는 불쾌한 문제가 있지만 아마도 두 가지 더 간단한 문제가 있을 수 있습니다. 컬이 두 번 설치되고 동적 링커가 잘못 구성되었습니다.
답변4
최근에 Python 3.6에서 3.7로 마이그레이션했습니다. 나는 컬이 그 전에도 효과가 있었다고 확신합니다. 문제가 해결되었다는 사실은 conda install libssh2
Python 업그레이드가 컬을 깨뜨린 것이라고 생각하게 만듭니다. 이런 설명일 수도 있겠네요샘 H부재, 즉 "...나에게는 이해가 되지 않습니다...".