PHP 4.0 Bug #6868 Updated: libphp4.so: undefined symbol: zendtext

From: Date: Wed, 01 Nov 2000 16:02:12 +0000
Subject: PHP 4.0 Bug #6868 Updated: libphp4.so: undefined symbol: zendtext
Groups: php.dev 
Request: Send a blank email to php-dev+get-36663@lists.php.net to get a copy of this message
ID: 6868 Updated by: sniper Reported By: mrsizer@home.com Status: Feedback Bug Type: Apache related Assigned To: Comments: Please try a snapshot from http://snaps.php.net/ --Jani Previous Comments: --------------------------------------------------------------------------- [2000-10-02 13:06:01] mrsizer@home.com Further Research: It's the .la files. They aren't working (and I have no clue what they are). If I type the link line for the /Zend make, ld says it doesn't understand the format of the .la files. If I replace the .la files with the .lo files they were created with, ld is happy. Continuing the php make from this point gets rid of all zend undefined symbols when starting apache, but now prce_malloc is undefined at that time. You use .la files A LOT. I'd rather not build php one directory at a time by hand. I'm using gcc-2.95.2. I started with binutils-2.9.5.0.22, but rolled back to 2.9.1.0.23 - no change. --------------------------------------------------------------------------- [2000-09-26 16:09:15] mrsizer@home.com Further research: It appears that libtool is not working. The zendtext symbol is in zend_indent.lo and zend_highlight.lo but not in LibZend.la I found this out by modifying the code to have a zendtext in it. That just resulted in other symbols which were not defined. Adding LibZend_c.la to the generated Makefile helped, but undefined symbols still kept cropping up. BTW: this happens with 4.0.0, too. I thought falling back a version might help - it didn't. --------------------------------------------------------------------------- [2000-09-23 23:56:15] mrsizer@home.com Newly downloaded php-4.0.2 ( ./configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql ) warned me that I had neither bison nor byacc. make make install both clean Apache 1.3.12 ( ./configure --enable-module=most --enable-shared=max ) make make install both clean - served pages fine before the php make install /usr/local/apache/bin/apachectl configtest generates the libphp4.so: undefined symbol: zendtext error. grepping the Zend directory, it appears to be a valid error, although why it didn't show up in the link I have no idea. zend_indent.c and zend_highlight.c both contain an "extern zendtext char*;" declaration and a "#define zendtext ((char *) zend_get_zendtext(CLS_C))" All other references are usage, not declarations or definitions (there is one "zendtext[i]++" in zend_indent.c which makes no sense, given the #define) That extern char* is not, according to grep, defined anywhere. Thanks, - Mark R. Sizer --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=6868

« previous php.dev (#36663) next »