dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
Dec 17, 2019
UPDATE: If you are having issue with libssl.1.0.0.dylib instead of libcrypto.1.0.0.dylib (mind the difference), please try the solution in Stackoverflow: brew switch openssl 1.0.2t.
Recently, Homebrew drops OpenSSL v1.0 for v1.1. The popular TagUI Github issue suggests downgrading openssl to v1.0 because their stack hasn’t support v1.1 yet. But that’s not a good idea in general. This posts presents my solution to the specific issue I saw.
When I reinstalled openssl v1.1, git suddently not working:
$ git fetch origin
dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
Referenced from: /usr/local/bin/ssh
Reason: image not found
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
When you read the message, it was quite clear: ssh is not working. My solution is as simple as
brew upgrade openssh
The new openssh version works fine with openssl v1.1
$ brew info openssh [10:29:34]
openssh: stable 8.1p1 (bottled)
OpenBSD freely-licensed SSH connectivity tools
https://www.openssh.com/
/usr/local/Cellar/openssh/8.1p1 (45 files, 4.7MB) *
Poured from bottle on 2019-12-18 at 10:28:20
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/openssh.rb
==> Dependencies
Build: pkg-config ✔
Required: ldns ✔, openssl@1.1 ✔
==> Analytics
install: 4,936 (30 days), 17,823 (90 days), 60,969 (365 days)
install-on-request: 4,725 (30 days), 16,718 (90 days), 57,024 (365 days)
build-error: 0 (30 days)
