Subject: undefined symbol: X509_free

From: "Zac Hillier" <[email-masked]>
Date: Sat, 15 Jun 2002 12:19:30 +0100

Just recently, eventually got apache 2.0.36 installed with mod_ssl.

Now when I try to start apache with:

httpd -D SSL

I get an error:

Cannot load modules/mod_ssl.so into server : modules/mod_ssl.so:  undefined
symbol : X509_free

Anybody know what this means and how I can resolve it?

Thanks

Zac

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

---

From: Cliff Woolley <[email-masked]>
Date: Sat, 15 Jun 2002 11:20:52 -0400 (EDT)

> Cannot load modules/mod_ssl.so into server : modules/mod_ssl.so:  undefined

That's a still-outstanding bug in the Apache build process (a linking
problem, specifically).  It's triggered when you build a shared mod_ssl
against a static OpenSSL.  The workaround is to make them match -- I
recommend installing the shared version of OpenSSL (eg, /usr/lib/libssl.so
and /usr/lib/libcrypto.so instead of /usr/lib/libssl.a and
/usr/lib/libcrypto.a... see the mod_ssl install docs for how to accomplish
this), and then recompile mod_ssl.

What's happened in your case right now is that for some reason we're
linking OpenSSL into the httpd binary rather than into the mod_ssl DSO,
and the static linker is therefore throwing away all the symbols we need
because httpd itself doesn't use them.  When we go to dynamically link in
mod_ssl later, OpenSSL's symbols aren't there for us.

--Cliff