httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <jor...@redhat.com>
Subject Re: [PATCH] Allow mod_cache to be build/loaded as DSO
Date Tue, 07 Sep 2004 21:03:37 GMT
On Tue, Sep 07, 2004 at 02:50:50PM -0400, Jim Jagielski wrote:
> Here's the scenario:
> 
>    1. Build httpd
>    2. Now build mod_cache as a DSO with apxs
>    3. Now try to load it in and run it
> 
> You'll see that this results in a dependency on libgcc.
> Do we *want* a dependency on libgcc? I don't think so.

Ah, your complaint is backwards.  Yes, you need a dependency on libgcc,
because gcc emitted a reference to a symbol from libgcc into the object
code.  There's no way round that.  But if you see an "undefined symbol"
link error that is because your module was *not* linked against libgcc.

The problem you're seeing is probably that libtool < 1.5 doesn't use
"gcc -shared" to link shared objects on Solaris, it uses ld -G directly;
the former will introduce a dependency on libgcc as desired, whereas the
latter will not, leaving you with undefined symbols in random modules
iff the httpd binary did not itself require those symbols.

The 1.3 Configure script exactly has the same issue on a few platforms
as Jeff mentioned.  If you can build 2.0 with libtool 1.5.x it should
work (modulo other libtool 1.5 issues).

(I don't know where your rant about licensing is coming from, GCC is
licensed such that linking against libgcc does not introduce any
restrictions on redistribution of the code you compiled)

joe

Mime
View raw message