compiling openssh 3.5p1 on SuSE 8.1 -- ./configure fails

From: Uli Laube (uli.laube@t-online.de)
Date: 10/22/02


From: Uli Laube <uli.laube@t-online.de>
Date: Tue, 22 Oct 2002 01:03:38 +0200

Hi all!

I want to install OpenSSH 3.5p1 on my SuSE 8.1 system.
After downloading and unpacking I started ./configure which stops with
the message:

configure: error: *** Can't find recent OpenSSL libcrypto (see
config.log for details) ***

Let's look at config.log:

[...]
configure:8460: gcc -o conftest -g -O2 -Wall -Wpointer-arith
-Wno-uninitialized conftest.c -lutil -lz -lnsl -lcrypto >&5
/usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld:
cannot find -lcrypto
collect2: ld returned 1 exit status
configure:8463: $? = 1
configure: failed program was:
#line 8434 "configure"
#include "confdefs.h"

/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply. */
char RAND_add ();
#ifdef F77_DUMMY_MAIN
# ifdef __cplusplus
      extern "C"
# endif
    int F77_DUMMY_MAIN() { return 1; }
#endif
int
main ()
{
RAND_add ();
   ;
   return 0;
}
configure:8511: gcc -o conftest -g -O2 -Wall -Wpointer-arith
-Wno-uninitialized -I/usr/local/ssl/include -L/usr/local/ssl/lib
conftest.c -lutil -lz -lnsl -lcrypto >&5
/usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld:
cannot find -lcrypto
collect2: ld returned 1 exit status
configure:8514: $? = 1
configure: failed program was:
#line 8485 "configure"
#include "confdefs.h"

/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply. */
char RAND_add ();
#ifdef F77_DUMMY_MAIN
# ifdef __cplusplus
      extern "C"
# endif
    int F77_DUMMY_MAIN() { return 1; }
#endif
int
main ()
{
RAND_add ();
   ;
   return 0;
}
configure:8530: error: *** Can't find recent OpenSSL libcrypto (see
config.log for details) ***
[...]

In both cases I have a cannot find -lcrypto reported by ld.

If I take this little peace of code an put it in a seperate file t.c
and compile it via > gcc t.c
I get

/tmp/ccCuJkEd.o: In function `main':
/tmp/ccCuJkEd.o(.text+0x11): undefined reference to `RAND_add'
collect2: ld returned 1 exit status

which is correct. When I type > gcc t.c -lcrypto I get:

/usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld:
cannot find -lcrypto
collect2: ld returned 1 exit status

When I type gcc -c t.c I get t.o without an error. If I link via
> ld t.o -lcrypto
ld: cannot find -lcrypto

If I type > ld t.o /usr/lib/libcrypto.so.0
ld: warning: cannot find entry symbol _start; defaulting to 0000000008048210

A quick > rpm -q openssl reveals that openssl-0.9.6g is installed
which is the latest according to www.openssl.org.

A quick > whereis libcrypto.so.0 shows that there is a
/usr/lib/libcrypto.so.0

According to man ldconfig /usr/lib is a trusted directory for libs
and in fact a > ldconfig -v shows

/usr/lib:
[...]
libcrypto.so.0.9.6 -> libcrypto.so.0.9.6
[...]

Any ideas?

Greetings

Uli



Relevant Pages