Question

I'm trying to install the command-line version of Tor. I have actually already done so using Homebrew, but it gives me the following notice:

[notice] Your OpenSSL version seems to be 0.9.8y. We recommend 1.0.0 or later.

So I updated OpenSSL. openssl version now yields in 1.0.1f.

When I run which openssl in Terminal, it returns with /usr/local/bin/openssl. When I run which tor in Terminal, it returns with /usr/local/bin/tor.

So why isn't Tor seeing the updated version of OpenSSL?

Was it helpful?

Solution 2

I uninstalled Tor via Homebrew and installed it again via Homebrew. I needed to have my $PATH set BEFORE I installed Tor. Doing this fixed my problem.

OTHER TIPS

So why isn't Tor seeing the updated version of OpenSSL?

Mac OS X will do as much as it can to load 0.9.8 in /usr/lib:

$ find /usr/ -iname libssl*
/usr//lib/libssl.0.9.7.dylib
/usr//lib/libssl.0.9.8.dylib
/usr//lib/libssl.dylib

LD_PRELOAD is not honored on Mac OS X (IIRC). Try using DYLD_LIBRARY_PATH. But be sure your Tor linked against 1.0.1, and not 0.9.8. Otherwise, you'll catch obscure errors that make no sense.


When I run which tor in Terminal, it returns with /usr/local/bin/tor

Did you build Tor yourself? If you built it yourself, then here's a few notes from the field with respect to Apple's linkers. (1) they silently ignore rpath's. (2) they silently ignore requests like -Bstatic. (3) more generally, they always link to the shared object if available (even on iOS where the only thing you are suppose to use is an archive). (4) LD_PRELOAD is not honored.

You have to be persistent to link to the OpenSSL in /usr/local/ssl/. The best way I have found is to remove -L, remove -lssl and remove -lcrypto from the makefiles; and add the full path names of the static archive at /usr/local/ssl/lib/libssl.a and /usr/local/ssl/lib/libcrypto.a.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top