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