[tor-relays] This is what you get....compile problem OSX10.4

Justin Aplin japlin at gmail.com
Tue Jan 24 02:20:56 UTC 2012


On 1/23/2012 6:55 PM, Geoff Down wrote:
>
> On Mon, Jan 23, 2012, at 06:24 PM, Justin Aplin wrote:
>> On 1/23/2012 2:56 PM, Geoff Down wrote:
>>> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols:
>>> _EVP_sha256
>>> _RSA_generate_key_ex
>>> _SHA256
>>> _SHA256_Final
>>> _SHA256_Init
>>> _SHA256_Update
>>> _CRYPTO_ctr128_encrypt
>>> collect2: ld returned 1 exit status
>>> make[4]: *** [tor-gencert] Error 1
>>> make[3]: *** [all-recursive] Error 1
>>> make[2]: *** [all-recursive] Error 1
>>> make[1]: *** [all-recursive] Error 1
>>> make: *** [all] Error 2
>>>
>> Do you have the 10.4u sdk installed? You might try something like the
>> following (with changes to the directories as necessary):
>> CFLAGS="-O -g -mmacosx-version-min=10.4 -isysroot
>> /Developer/SDKs/MacOSX10.4u.sdk -arch ppc" \
>> LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" \
>> ./configure --with-libevent-dir=/opt/local/lib/
>> --disable-dependency-tracking CC="gcc-4.0"
>>
>> Of course, that sets you back to using the sdk-packaged version of
>> OpenSSL, but if it builds at least that's progress. Also, if you haven't
>> built libevent yourself, I'd try doing that, with the following flags
>> (again, with directory changes as necessary):
>> CFLAGS="-O -g -mmacosx-version-min=10.4 -isysroot
>> /Developer/SDKs/MacOSX10.4u.sdk -arch ppc" \
>> LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" \
>> ./configure --enable-static --disable-shared
>> --disable-dependency-tracking CC="gcc-4.0"
>>
>> and seeing if that makes any difference.
>>
>> Personally, on my OSX 10.4.11 ppc node (Japnonymous) I don't use the
>> sdk, but then, I build static versions of libevent, openssl, and libz
>> myself and do a "mostly-static" build of tor. Everything's been building
>> fine for me so far.
>>
> Hi Justin,
> I do have MacOSX10.4u.sdk in /Developer/SDKs/ (whatever that is).
> Running your first test above (with libevent-dir=/opt/local/ not
> /opt/local/lib) does get through to the end without an 'error' (assuming
> 'configure: Transparent proxy support enabled, but missing headers'
> isn't an error).
>   I did 'install' the latest openssl using Macports, that generated a
>   binary that I moved to /usr/bin. But as far as I can see 'installing'
>   libevent 2 didn't produce a binary (even though there was a 'building'
>   message at one point).
>   What's the next step?
> GD
>
I'm kind of flying in the dark here (being unfamiliar with macports), 
but I think a proper --with-openssl-dir= statement will help. Run 
"openssl version -a", check the version number to make sure it's the new 
version and not the packaged one, and put the output of the OPENSSLDIR 
field in as an argument. So you'd end up with something like:

CFLAGS="-O -g -mmacosx-version-min=10.4 -arch ppc" \
./configure --with-libevent-dir=/opt/local 
--with-openssl-dir=/path/to/openssldir --disable-dependency-tracking 
CC="gcc-4.0"

We won't bother with the sdk bits, since that will (by definition) use 
the old libs, instead of the ones you're aiming for. I think what's 
happening is the build/test process is using the new openssl binary with 
the old libs, or missing out on the openssl libs completely.

~Japlin



More information about the tor-relays mailing list