"Robert Poole" <[EMAIL PROTECTED]> writes: > I did a little digging. Even though I compiled openssl, and it > installed things under /usr/local, there are other libssl and > libcrypto versions on the system; so I'm kind of scratching my head, > trying to figure out how to force wget to build against the stuff > that I actually compiled, instead of something else.
If I remember correctly, OpenSSL installs under /usr/local/ssl by default. Wget, on the other hand, tries to be a decent citizen and first attempt to look for libraries in the standard locations, where "standard" means whatever is in the compiler's include/library search path. To quote configure.in: dnl OpenSSL's root was not specified, so we have to guess. First dnl try the system default location, then "/usr/local/ssl" (where dnl OpenSSL installs by default), then "/usr/local" (traditional dnl choice for installation root), then "/opt". ssl_all_roots="system-default /usr/local/ssl /usr/local /opt" You can specify OpenSSL root with `--with-ssl=ROOT'. For example, `./configure --with-ssl=/usr/local/ssl' will prefer the libraries in /usr/local/ssl/lib and includes in /usr/local/ssl/include over any other. > I examined libssl.a and libcrypto.a, and the _ > OPENSSL_add_all_algorithms_noconf symbol is defined in libcrypto.a > that was installed when I built openssl. However, there's a > libssl.so and a libcrypto.so elsewhere on the system, and a > libssl.dylib and libcrypto.dylib elsewhere as well... [...] > As far as I can tell, the only headers for openssl are the ones that > I installed with openssl 0.9.7c. That almost confirms my suspicion. I'm guessing that Wget links with an older libssl.so (because they're in the compiler's library search path), but finds the includes from the newer version (because those are the only SSL includes on the system, and they're in the compiler's include path). Please try using `./configure --with-ssl=/usr/local' or `./configure --with-ssl=/usr/local/ssl' and see if the problem goes away.