uWSGI can not load libssl.1.0.0.dylib

2019-01-17 08:22发布

问题:

When I call uwsgi, it always shows the following:

dyld: Library not loaded: libssl.1.0.0.dylib
  Referenced from: /Users/xingshi/anaconda/bin/uwsgi
  Reason: image not found
Trace/BPT trap: 5

Here is all the libssl.1.0.0.dylib on my Mac:

$ locate libssl.1.0.0.dylib
/Library/PostgreSQL/9.2/lib/libssl.1.0.0.dylib
/Library/PostgreSQL/9.2/pgAdmin3.app/Contents/Frameworks/libssl.1.0.0.dylib
/Users/xingshi/anaconda/lib/libssl.1.0.0.dylib
/Users/xingshi/anaconda/pkgs/openssl-1.0.1c-0/lib/libssl.1.0.0.dylib
/opt/local/lib/libssl.1.0.0.dylib

And my uwsgi is in anaconda

$which uwsgi
/Users/xingshi/anaconda/bin/uwsgi

Any ideas ?

回答1:

MacPorts usually install softwares into /opt/local/, but brew will install softwares into /usr/local/. It seems that my uwsgi is looking for the libssl.1.0.0.dylib in /usr/local/lib, so I use brew to install openssl and relink it:

brew install --upgrade openssl
brew unlink openssl && brew link openssl --force


回答2:

I performed this:

I have been having this error for a long time and performing

brew uninstall openssl
brew install openssl

did not work for me even including "--force"

However, I found this link to this blog and it did work for me.

http://mithun.co/hacks/library-not-loaded-libcrypto-1-0-0-dylib-issue-in-mac/

Step 1: Install openssl using brew

brew install openssl 

Step 2: Copy copy libssl.1.0.0.dylib and libcrypto.1.0.0.dylib

cd /usr/local/Cellar/openssl/1.0.1f/lib  

sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/lib/ 

Note the bold folder name. There will be change in that depending on your openssl version

Step 3: Remove the existing links

sudo rm libssl.dylib libcrypto.dylib 

sudo ln -s libssl.1.0.0.dylib libssl.dylib 

sudo ln -s libcrypto.1.0.0.dylib libcrypto.dylib

I hope this helps!