On Mon, Aug 06, 2001 at 05:25:41PM -0500, John Marquart wrote:
> This is an ssh compilation problem, but since it breaks in the
> configure script while trying to find the openssl libraries, I have copied
> both lists.
> --------config.log.snip---
> configure:4376: checking for OpenSSL directory
> configure:4433: cc -o conftest -g
> -I/usr/local/programs/openssl-0.9.6b//include -I/usr/local/include
> -L/usr/local/programs/openssl-0.9.6b//lib -L/usr/local/li b conftest.c -lz
> -lnsl -lcrypto 1>&5
>
> ld: 0711-317 ERROR: Undefined symbol: .__umoddi3
> ld: 0711-317 ERROR: Undefined symbol: .__udivdi3
> ld: 0711-317 ERROR: Undefined symbol: .__eprintf
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to
> obtain more information. configure: failed program was:
> #line 4419 "configure"
> #include "confdefs.h" #include <string.h> #include
> <openssl/rand.h> int main(void) {
> char a[2048];
> memset(a, 0, sizeof(a));
> RAND_add(a, sizeof(a), sizeof(a));
> return(RAND_status() <= 0); }
> --------config.log.snip---
>
>
> However - when i use gcc, it finds the ssl libraries and configures &
> compiles just fine. I would prefer to use xlc (mostly because we have
> access to it - and it purportedly produces better code.
Your problem probably comes with the OpenSSL library: it seems to be compiled
with gcc. gcc uses some routines with the names mentioned above, which are
satisfied by linking against libgcc.a, to be found somewhere in the gcc-tree
(/usr/local/lib/gcc-lib/...).
You can either solve your problem by linking against -L/path/to/.. -lgcc
or by recompiling OpenSSL with xlc. Using this last option will also prevent
other people to run into the same problem while installing programs using
OpenSSL.
Best regards,
Lutz
--
Lutz Jaenicke [EMAIL PROTECTED]
BTU Cottbus http://www.aet.TU-Cottbus.DE/personen/jaenicke/
Lehrstuhl Allgemeine Elektrotechnik Tel. +49 355 69-4129
Universitaetsplatz 3-4, D-03044 Cottbus Fax. +49 355 69-4153