Subject: RE: libssl.so.0 - cannot open shared object file - solution
From: "David Rees" <[email-masked]>
To: <[email-masked]>
Date: Tue, 27 Feb 2001 13:22:53 -0800

Interesting.  I usually use the default options when compiling OpenSSL
(./config ; make ; make test), I guess this results in OpenSSL not building
the shared libraries in the first place.  Then when mod_ssl gets built, it
links with the static libraries.

I think that you could specify the "-static" flag when
configuring/installing mod_ssl and still be able to build shared-libs, just
set the CFLAGS environment variable to "-static".  I like to set the CFLAGS
variable to "-O2", since Apache doesn't compile with any optimization by
default.

-Dave

> -----Original Message-----
> From: [email-masked]
> [mailto:[email-masked]]On Behalf Of [email-masked]
>
> I was having a problem similar to several I found posted to the
> list, where
> attempting to start Apache ssl enabled produced a message such as:
>
> Cannot load /usr/local/apache/libexec/libssl.so into server:
> libssl.so.0: cannot
> open shared object file: No such file or directory
>
> None of the suggestions worked for me until I noticed part of a
> submission from
> Gary Mills about a build on Solaris:
>
> 'remove libssl.so in the source tree'
>
> The problem appears to be that when you build openssl as
> dynamically linked
> libraries (make linux-shared) you end up with a libssl.so ,
> libssl.so.0 , and
> libssl.so.0.9.6 in the source tree for openssl.   Then when you
> build mod_ssl
> --with-ssl= wherever/openssl-0.9.6 the linker finds a module with
> the same name
> it is trying to create and then doesn't do what you expect.
>
> Solution:
> Remove the following files and links from wherever/openssl-0.9.6/
> libssl.so.0.9.6
> libcrypto.so.0.9.6
> libssl.so.0
> libssl.0
> libcrypto.so.0
> libcrypto.so.
>
> Leave the libssl.a and libcrypto.a libraries there.
>
> To compile mod_ssl without recompiling apache I used:
> make clean
> ./configure --with-apache=/usr/local/src/apache_1.3.17  \
> --with-ssl=/usr/local/src/openssl-0.9.6/   --enable-module=ssl    \
> --with-apxs=/usr/local/apache/sbin/apxs
>
> You should be able to use the same configure command you used before.
>
> then make and make install...
> And it worked!
>
> You can run 'make linux-shared' in the openssl source directory
> to reproduce the
> dynamically linked libraries you deleted.
>
>
> Good Luck
>
> Scoop

______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
User Support Mailing List                      [email-masked]
Automated List Manager                            [email-masked]