You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by "Ralf S. Engelschall" <rs...@engelschall.com> on 1999/03/10 12:10:01 UTC
Re: config/3823: enabling a module as shared does not cause it to link against the necessary extra libraries
The following reply was made to PR config/3823; it has been noted by GNATS.
From: "Ralf S. Engelschall" <rs...@engelschall.com>
To: apbugs@apache.org
Cc: Subject: Re: config/3823: enabling a module as shared does not cause it to link against the necessary extra libraries
Date: Wed, 10 Mar 1999 11:57:40 +0100
In article <19...@hyperreal.org> you wrote:
> Given a module with a configuration like this, APACI configuration finds that it
> does need to link the additional libraries:
>
> * MODULE-DEFINITION-START
> * Name: mysql_auth_module
> * ConfigStart
> MYSQL_LIB="-L/usr/local/lib/mysql -lmysqlclient -lm"
> if [ "X$MYSQL_LIB" != "X" ]; then
> LIBS="$LIBS $MYSQL_LIB"
> echo " + using $MYSQL_LIB for MySQL support"
> fi
> * ConfigEnd
> * MODULE-DEFINITION-END
>
> This works fine when this module is compiled statically. However, if you make
> this module --enable-shared during the config, then the resulting .so file does not
> have the additional libraries linked, but those libraries are referenced for linking
> when building httpd.
It's not such easy because usually you cannot link DSO's against other DSOs
(i.e. shared libraries here). To solve the problem you either have to build
this MySQL module statically or build on a smart platform (usually all
ELF-based platforms are of this type where you can link a DSO against a DSO)
and use --enable-rule=SHARED_CHAIN.
Ralf S. Engelschall
rse@engelschall.com
www.engelschall.com