dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
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 ✔, firstname.lastname@example.org ✔ ==> 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)