ID: 14870
User updated by: msopacua at idg dot nl
Reported By: msopacua at idg dot nl
-Status: No Feedback
+Status: Open
Bug Type: Dynamic loading
Operating System: BSDi 4.x
PHP Version: 4.0CVS-2002-10-16
New Comment:
Thanx Jani, but it's not the cause. I've tried it regardless and it
doesn't help.
It's defenitely a linker issue, although a ktrace doesn't reveal much
info.
Previous Comments:
------------------------------------------------------------------------
[2003-07-18 04:31:48] [EMAIL PROTECTED]
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.
------------------------------------------------------------------------
[2003-07-10 18:33:38] [EMAIL PROTECTED]
Not sure whether this has nothing to do with this bug,
but take a look in Apache 1.3.27 sources, src/main/http_main.c file
and look for WORKAROUND_SOLARIS_BUG. You could try defining that and
recompile apache (make clean && make) to see if it has any effect?
------------------------------------------------------------------------
[2002-10-20 10:33:46] [EMAIL PROTECTED]
I've created a php script, to test this :-).
Output is as follows:
============================================================
RESULTS SIGTEST
------------------------------------------------------------
Mysql bundled: OK
Mysql external: NOT OK
Aspell external: NOT OK
GD bundled: OK
XML Bundled: OK
XML external: OK
XSLT external: NOT OK
Iconv external: OK
GNU gettext, external: OK
OpenSSL external: NOT OK
Curl external, without SSL: NOT OK
Curl external, with SSL: NOT OK
============================================================
The commonalities seem to be, that the modules which fail, load more
than 1 external shared library. MySQL loads zlib, Aspell loads several
aspell libs, OpenSSL has -lssl and -lcrypt and curl loads -lssl ("Curl
external, without SSL", simply means --with-openssl was not given.
-lssl and -lcrypt are still linked in).
The only exceptions to this, are the Bundled GD, which is compiled with
libjpeg, libpng, libz and libfreetype and the Bundled MySQL.
The common factors with these is, that libphp4.so doesn't call
libgd/libmysqlclient, but has this code built in.
Concluding this goes wrong when there are 2 levels of dynamic loading:
apache -> libphp4 -> libfoo -> libbar
It reminded me of bug in BSD/OS 4.x series, on how symbols are
resolved:
http://www.geocrawler.com/archives/3/127/1999/5/0/1795873/
Can somebody experience in this, take a look if it makes any sense in
comparison to what PHP is doing?
------------------------------------------------------------------------
[2002-10-17 04:06:49] [EMAIL PROTECTED]
Ok, just a quick status update:
The 'old' gd still exposes the problem. The bundled gd does not, in
contradiction to my previous report. This was actually caused because,
the bundled MySQL lib, is OK, BUT an external mysql lib (3.23.53) also
exposes the problem.
Since I tried both, with the same zlib option, and both MySQL libs have
been linked with the same zlib, it cannot be a zlib problem.
------------------------------------------------------------------------
[2002-10-17 02:53:21] [EMAIL PROTECTED]
Nope - wrong guess :-).
It is not just GD. When I removed GD from the below configuration, it
still didn't work.
The following works correctly:
./configure \
--prefix=/php \
--disable-mbstring \
--with-zlib=/usr \
--with-zlib-dir=/usr \
--with-apxs=/apache/bin/apxs
I'll use --disable-all and make a list of extensions that have/expose
these problems. Maybe there's a common factor.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/14870
--
Edit this bug report at http://bugs.php.net/?id=14870&edit=1