Subject: pkg/13743: ap-php4 is badly linked and this causes php4-sablot to fail at run time.
To: None <firstname.lastname@example.org>
From: None <email@example.com>
Date: 08/17/2001 11:50:34
>Synopsis: ap-php4 is badly linked and this causes php4-sablot to fail at run time.
>Arrival-Date: Fri Aug 17 11:48:01 PDT 2001
>Originator: Emmanuel Dreyfus
The NetBSD Project
the php4-sablot module references symbols in libgcc.a, such as __get_eh_context. Theses symbols are not defined in mod_php4.so, nor in httpd. As a result, php4-sablot builds sucessfully, but there is a dynamic link failure when you actually try to use it.
Just try to actually use xslt with PHP4.
The solution seems to include the libgcc.a symbols in mod_php4.so, since this is what is already done for mod_perl.so (mod_perl.so contains __get_eh_context). THis can be done by some dirty hacking, linking all the .a files in the build directory, with a -Wl,-whole-archive -lgcc -Wl,-export-dynamic.
The correct fix is probably to have libtool linking the stuff correctly, but this is beyond my knowledge.
Additionnaly, the Makefile for the php4-sablot package contains a --export-dynamic that is probably a -export-dynamic (a signle minus), but this does not causes the problem.