You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Pietro Cagnoni <pc...@mclink.net> on 2002/07/30 14:53:26 UTC
__floatdisf symbol not found problem: how i solved it
i just spent a few hours wrestling with a hairy dynamic linking problem.
i'm talking about apache 1.3.26 with mod_perl 1.27 on solaris 8 with gcc
2.95.3, but the problem should be a little more general.
i'm writing this to 1) help google help someone else next time, and 2)
ask if this should be submitted to the apache team, and how.
it all started when i tried to add the line
LoadModule negotiation_module libexec/mod_negotiation.so
in my httpd.conf, and got the following message with apachectl configtest:
Cannot load /B/highway/apache/libexec/mod_negotiation.so into server:
ld.so.1: /B/highway/apache/bin/httpd: fatal: relocation error: file
/B/highway/apache/libexec/mod_negotiation.so: symbol __floatdisf:
referenced symbol not found
i started googling, and found a couple of things which helped me a
little, but no working solution; i kept trying, and that's what i've found.
__floatdisf is a numeric conversion routine that can be found in the
library libgcc.a (use gcc -print-libgcc-file-name to find the full
path). it doesn't get included in the httpd binary when compiled with
--enable-shared=max. mod_negotiation and mod_proxy use it, and the
dynamic linker fails to load them. dump -t httpd doesn't show any
__floatdisf symbol.
the symbol appeared in httpd when i linked mod_negotiation statically
with --disable-shared=negotiation, and at this point mod_proxy was
dynamically loadable too; everything was working.
so: the workaround is to include mod_negotiation (or mod_proxy) statically.
maybe it's possible to force the inclusion of the __floatdisf routine
with some dummy code in main(): i'll make some tests, and probably i'll
dare to submit a patch if i find anything interesting.
have a nice day.
pietro cagnoni.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: __floatdisf symbol not found problem: how i solved it
Posted by Pietro Cagnoni <pc...@mclink.net>.
Pietro Cagnoni wrote:
> i just spent a few hours wrestling with a hairy dynamic linking problem.
> i'm talking about apache 1.3.26 with mod_perl 1.27 on solaris 8 with gcc
> 2.95.3, but the problem should be a little more general.
filed bug #11288 if anyone's interested.
pietro.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org