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. I can only guess that somehow the linker is finding the wrong libraries and is blowing up when it tries to link against them.

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...

It's been quite some time since I've had to dig through a linker problem like this, so I'm kind of lost. I'd be willing to let someone I could trust ssh into my system and dig around and see what they see.

As far as I can tell, the only headers for openssl are the ones that I installed with openssl 0.9.7c.

I'm trying to search on the net, but nobody seems to be compiling the code from scratch; almost everyone is using fink.

Best Regards,
Rob Poole
[EMAIL PROTECTED]


On Sunday, October 12, 2003, at 01:51 PM, Hrvoje Niksic wrote:


"Robert Poole" <[EMAIL PROTECTED]> writes:

gcc -O2 -Wall -Wno-implicit -o wget cmpt.o connect.o convert.o
cookies.o ftp.o ftp-basic.o ftp-ls.o ftp-opie.o getopt.o hash.o
headers.o host.o html-parse.o html-url.o http.o init.o log.o main.o
gen-md5.o netrc.o progress.o rbuf.o recur.o res.o retr.o safe-ctype.o
snprintf.o gen_sslfunc.o url.o utils.o version.o  -lssl -lcrypto
ld: Undefined symbols:
_OPENSSL_add_all_algorithms_noconf

As far as I can tell, the call to SSLeay_add_all_algorithms in gen_sslfunc.c expands to OPENSSL_add_all_algorithms_noconf (without the leading underscore). I really don't know why it fails to link for you; if I had to guess, I'd try checking two things.

It could be a mismatch between OpenSSL headers and the installed
libraries.  Please check that the headers Wget is picking up and the
libraries it's linking with are from the same OpenSSL version.

Or, it could be a problem with libtool, which Wget uses to be able to
(easily) link with external libraries.  Try running the link line
manually, outside make and without libtool.  See if linking works
then.

For better or worse, noone has reported this problem so far.  It's
either specific to your architecture or to your setup.  Do other SSL
programs, such as curl, compile successfully?





Reply via email to