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