DNSCrypt fails to start (problem with libsodium)

homebrew

I am using current stable dnscrypt-proxy 1.6.1 version from Homebrew on El Capitan and Yosemite. On either machine I have the same problem.

When run dnscrypt-proxy fails with image not found error:

dyld: Library not loaded: /usr/local/lib/libsodium.13.dylib  
 Referenced from: /usr/local/sbin/dnscrypt-proxy  
 Reason: image not found  
./dnscrypt-manual.sh: line 24: 67315 Trace/BPT trap: 5
   /usr/local/sbin/dnscrypt-proxy --local

I have libsodium installed with the following command

brew install libsodium --universal

In /usr/local/Cellar/libsodium/1.0.8/lib/ I have the following files:

-r--r--r--  1 macraf  admin   763268 Mar  3 12:48 libsodium.18.dylib
-r--r--r--  1 macraf  admin  1091336 Mar  3 12:48 libsodium.a
lrwxr-xr-x  1 macraf  admin       18 Mar  3 12:48 libsodium.dylib@ -> libsodium.18.dylib
drwxr-xr-x  3 macraf  admin      102 Mar  3 12:48 pkgconfig/

The problem was also discussed here with no resolution in current version.

It seems /usr/local/lib/libsodium.13.dylib is either hardcoded in dnscrypt-proxy or the libraries should be somehow linked.

Any idea if there is something wrong on the configuration side?

Best Answer

I managed to refresh dnscrypt-proxy so that it uses libsodium.18.dylib and does not throw the error anymore with the following procedure *:

brew update
brew prune
brew cleanup
rm -fr /Library/Caches/Homebrew/*
brew uninstall dnscrypt-proxy
brew uninstall minisign
brew uninstall libsodium
brew install libsodium
brew link --overwrite libsodium
brew install minisign
brew link --overwrite minisign
brew install dnscrypt-proxy
brew link --overwrite dnscrypt-proxy

* credits to Frank Denis the creator of DNSCrypt.