Subject: cannot load modssl

From: Dan Stromberg <[email-masked]>
Date: Thu, 15 Aug 2002 13:28:09 -0700

I built (tried to build) modssl as a module for apache.

When I try to run apache, I get:

decalpha-root> /usr/bin/httpd -d /Web -DSSL                
Syntax error on line 206 of /Web/conf/httpd.conf:
Cannot load /dcs/packages/infosys/apache/libexec/libssl.so into server:
dlopen: cannot load /dcs/packages/infosys/apache/libexec/libssl.so

A system call trace shows (please pardon me if I didn't get the line
wrapping undone correctly) :

mmap ( 0x3004382e000, 4048, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_ANONYMOUS|MAP_VA
RIABLE|MAP_PRIVATE, -1, 0 ) = 0x4382e000
close (5) = 0
stat ("/dcs/packages/infosys/apache/libexec/libssl.so", 0x3ffc0001d30) = 0 [ , <
129.0.39381905 -rwxr-xr-x 1 dcslib users 221184 1029433580,1029433580,1029433580 > ]
getrlimit ( RLIMIT_DATA, 0x11fffce48 ) = 0 [ , {134217728,1073741824} ]
mmap ( 0x3ffc0016000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_ANONYMOUS|MAP_VA
RIABLE|MAP_PRIVATE, -1, 0 ) = 0xffffffffc0016000
open ("/dcs/packages/MySQL/lib/mysql/libssl.so", O_RDONLY, 30000211552) = -1, Er
rno 2 (No such file or directory)
open ("/dcs/packages/infosys/php-ext/pdflib/lib/libssl.so", O_RDONLY, 3000021155
7) = -1, Errno 2 (No such file or directory)
open ("/dcs/packages/infosys/php-ext/freetds-0.53/lib/libssl.so", O_RDONLY, 3000
0211551) = -1, Errno 2 (No such file or directory)
open ("/dcs/packages/perl-5.6.0/lib/5.6.0/alpha-dec_osf/CORE/libssl.so", O_RDONL
Y, 30000211552) = -1, Errno 2 (No such file or directory)

/dcs/packages/infosys/apache/libexec/libssl.so is indeed where the SO in
question lives.

Also:

decalpha-root> file /dcs/packages/infosys/apache/libexec/libssl.so
/dcs/packages/infosys/apache/libexec/libssl.so: COFF format alpha shared
library, demand paged executable or object module stripped - version
3.11-10 

I'm using apache 1.3.26, mod_ssl 2.8.10-1.3.26, and openssl 0.9.6e.

mod_ssl was ./configured with:

./configure --with-apache=/dcslibsrc/infosys/apache-httpd/apache/`systype` \
  --prefix=/dcs/packages/infosys/apache-$vers \
  --with-ssl=/dcs/packages/openssl

The OS I'm on is Tru64 4.0D, but I hope to run the resulting binary on a
variety of more recent Tru64 machines.

I'm not getting a core dump, in fact httpd doesn't even start.  I just
get the error mentioned above.

The daemon runs fine without -DSSL.

As probably happens too often on this list, this matter is rather urgent
for us.

Thanks.

-- 
Dan Stromberg                                               UCI/NACS/DCS

---

From: Dan Stromberg <[email-masked]>
Date: Mon, 19 Aug 2002 10:57:59 -0700

Getting libssl.so to load correctly has revealed a new problem, which I
suppose is likely just a problem in our httpd.conf.

When I start my new httpd, I can retrieve pages on both 80 and 443, but
both only do http, neither does https.  Is there a way to fix this?

Thanks.

-- 
Dan Stromberg                                               UCI/NACS/DCS
______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
User Support Mailing List                      [email-masked]
Automated List Manager                            [email-masked]

---

From: Dan Stromberg <[email-masked]>
Date: Mon, 19 Aug 2002 10:56:05 -0700

I ran into the same problem on Solaris.

If I change the ssl module's SSL_LDFLAGS to "-L$(SSL_LIBDIR)
-R$(SSL_LIBDIR)", then it works - the -R was missing.  I now suspect
this was the same problem I was seeing on tru64, where it would instead
be -Wl,-rpath -Wl,/dir/ect/ory .

I now have two questions directly related to this:

1) What is the right place to add this?  I imagine it's not the most
pleasing of methods to manually add this to the Makefile after
configure'ing, which unfortunately is what I've done to get the ssl
module to work (sort of, see below).

2) Can something like this be added to the Makefile?  Or am I really the
only person in the world who doesn't put openssl in a standard place
like /usr/lib or /usr/local/lib?  It seems to me that libtool or
something should be taking care of this the most thorough way, instead
of assuming the openssl libraries are on your run-time loader path.

Thanks.