ID:               14870
 Updated by:       [EMAIL PROTECTED]
 Reported By:      msopacua at idg dot nl
-Status:           Analyzed
+Status:           Feedback
 Bug Type:         Dynamic loading
 Operating System: BSDi 4.x
 PHP Version:      4.0CVS-2002-10-16
 New Comment:

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?



Previous Comments:
------------------------------------------------------------------------

[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.

------------------------------------------------------------------------

[2002-10-16 21:07:48] [EMAIL PROTECTED]

And I guess you have shared extensions loaded in your php.ini when this
happens? And if not, it works fine?

I tried on my machine (linux :) these:

./apachectl restart
./apachectl graceful

And both worked fine. I don't have any shared extensions in my php.ini


------------------------------------------------------------------------

[2002-10-16 14:17:13] [EMAIL PROTECTED]

Ok - user error. Jpeg has a libtool from the stoneages. Replacing that
with a 1.4 release, correctly builds a shared version, which will then
create libs/libphp4.so.

However - the problem with the signals remains.

------------------------------------------------------------------------

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

Reply via email to