php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #36690 libphp5.so has numerous undefined functions
Submitted: 2006-03-11 00:28 UTC Modified: 2006-03-12 12:04 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: mlandis at pnmx dot com Assigned:
Status: Not a bug Package: Apache2 related
PHP Version: 5.1.2 OS: *
Private report: No CVE-ID: None
 [2006-03-11 00:28 UTC] mlandis at pnmx dot com
Description:
------------
$ ./configure --with-pear --with-mysql --enable-fastcgi --enable-safe-mode --with-apxs2=/usr/local/apache/bin/apxs
$ make
$ make install
$ objdump -x modules/libphp5.so

//..._GLOBAL_OFFSET_TABLE_ and above seem to be okay, but just about everything afterwards is undefined.

0001b138 l     O *ABS*  00000000              .hidden _GLOBAL_OFFSET_TABLE_
00000000         *UND*  00000000              ap_auth_type
00000000         *UND*  00000000              _erealloc
00000000         *UND*  00000000              zend_get_parameters_ex
00000000         *UND*  00000000              sqlite3DropTrigger
00000000         *UND*  00000000              zend_hash_internal_pointer_reset_ex
0001152c g     F .text  00000057              php_info_print_box_start
00000000         *UND*  00000000              zend_exception_get_default
0000c638 g     F .text  00000027              zif_mysql_field_flags
00000000         *UND*  00000000              _zval_ptr_dtor
00000000         *UND*  00000000                 

Reproduce code:
---------------
Have not modified any code from the distribution.

Expected result:
----------------
A usable libphp5.so

Actual result:
--------------
can't start apache2 (2.0.55)

Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: undefined symbol: _zend_list_delete


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-03-11 10:06 UTC] mike@php.net
Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.

It wouldn\'t build for thousands of other people then?

 [2006-03-11 11:02 UTC] mlandis at pnmx dot com
There are numerous posts on exactly this subject associated with previous versions of PHP or another OS.  If you google "_zend_list_delete undefined libphp5.so" you'll get 92 hits, so something is amiss.  Chances are that many people didn't post to a news group about their experience.  It shouldn't take thousands of people reporting a bug for it to be real - 90+ should be plenty.  My guess is that there's something that configure is not accounting for.  There are quite a few of us out here that would appreciate you taking this seriously.  If I can help get to the bottom of it, I would be happy to cooperate in any way.
 [2006-03-11 12:10 UTC] rasmus@php.net
;)  Nice try on the Google thing.  They are all from the same person.  Someone who goes by "Alpinekid".  Try this:

http://www.google.com/search?hl=en&lr=&safe=off&c2coff=1&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=%22zend_list_delete+undefined%22+libphp5.so+-alpinekid&btnG=Search

It sounds like you have some interesting problem on your system.  Try it on another box and see if you get the same thing.  As it is, since none of us here can reproduce this, there isn't much we can do.  Please re-open if you find some solid information that points to a PHP bug.
 [2006-03-12 00:57 UTC] mlandis at pnmx dot com
I have no other Linux boxes available so I'm stuck installing PHP on this one.  BTW, I wasn't trying to pull the wool over your eyes w.r.t. alpinekid (you guys are so cynical).

I can reproduce this on my machine every time.  Configure first encounters difficulties at...

configure:12447: gcc -o conftest -g 02 conftest.c -lpthreads -lnsl 1>&S
/usr/bin/ld: cannot find -lpthreads
collect2: ld returned 1 exit status
configure: failed program was:
#line 12438 "configure"
#include "confdefs.h"
#include <pthread.h>
int main() {
pthread_t th; pthread_join(th,0);
...

//my /usr/lib contains:
libpthread.a, libpthread.so, libpthread_nonshared.a

and /lib/i686/nosegneg/ contains:
libpthread-2.3.5.so, libpthread.so.0

Is there something I can do to help configure succeed here?

Thanks, Mike
 [2006-03-12 09:10 UTC] tony2001@php.net
I doubt anyone will be able to help you. since noone is able to reproduce your problem.
Not PHP problem, but some mess in your system.
 [2006-03-12 11:57 UTC] mlandis at pnmx dot com
I'm not sure if this <i>really</i> accomplished anything or not, but I copied libpthread.a to libpthreads.a (in /usr/lib) and re-ran:

./configure --with-pear --with-mysql --enable-fastcgi
--enable-safe-mode --with-apxs2=/usr/local/apache/bin/apxs)
make
make install

so I can start Apache2 (so _zend_list_delete is no longer undefined in libphp5.so) and I can get phpinfo() to run successfully.

All good news, but there are hundreds of functions in libphp5.so that are still undefined.  I don't know how important this is, but they tend to fit the following patterns:
xml*
*@@GLIBC_2.0
*@@GLIBC_2.1
*@@GLIBC_2.2
mysql_*
ap_*
apr_*

If this looks familiar and they're important and I can do something to fix them, I hope you'll post a reply.

Here's the first twenty or so undefined's from:
objdump -x libphp5.so

00000000       F *UND*	0000010c              xmlNodeSetContent
00000000       F *UND*	00000088              xmlXIncludeProcessFlags
00000000         *UND*	00000000              ap_auth_type
00000000       F *UND*	0000016c              xmlTextWriterStartAttributeNS
00000000       F *UND*	000000cd              xmlNewTextReaderFilename
00000000       F *UND*	00000041              freeaddrinfo@@GLIBC_2.0
00000000       F *UND*	00000083              xmlDocSetRootElement
00000000       F *UND*	00000030              xmlDocDumpFormatMemory
00000000       F *UND*	000000e0              xmlGetPredefinedEntity
00000000       F *UND*	00000256              xmlSchemaFreeValidCtxt
00000000       F *UND*	0000002e              xmlGetIntSubset
00000000       F *UND*	0000003f              readlink@@GLIBC_2.0
00000000       F *UND*	0000005d              xmlTextWriterWriteDTDElement
00000000       F *UND*	00000021              xmlNewDocText
00000000         *UND*	00000000              ap_loaded_modules
00000000       F *UND*	00000271              __res_nmkquery@@GLIBC_2.2
00000000       F *UND*	00000071              nl_langinfo@@GLIBC_2.0
00000000       F *UND*	00000049              usleep@@GLIBC_2.0
00000000       F *UND*	0000009a              xmlCharStrndup
00000000       F *UND*	0000003d              mkdir@@GLIBC_2.0
00000000       F *UND*	0000011b              getgrnam@@GLIBC_2.0
 [2006-03-12 12:01 UTC] tony2001@php.net
.
 [2006-03-12 12:04 UTC] helly@php.net
That means that you compiled/linked against static libs which temselve were linked against different static versions of libc. This clearly shows that your system is all fucked up. The xml* are al from libxml2.

Either way this is no php bug so stop reopening this bug.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Nov 02 18:01:29 2024 UTC