php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #6868 libphp4.so: undefined symbol: zendtext
Submitted: 2000-09-23 23:56 UTC Modified: 2000-12-07 11:42 UTC
From: mrsizer at home dot com Assigned:
Status: Closed Package: Apache related
PHP Version: 4.0.2 OS: RedHat Linux 6.2
Private report: No CVE-ID: None
 [2000-09-23 23:56 UTC] mrsizer at home dot 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

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-09-26 16:09 UTC] mrsizer at home dot 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-10-02 13:06 UTC] mrsizer at home dot 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-11-01 11:02 UTC] sniper@php.net
Please try a snapshot from http://snaps.php.net/

--Jani
 [2000-12-07 11:42 UTC] sniper@php.net
Reopen, if this still happens when using latest snapshot
from http://snaps.php.net/

--Jani
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Oct 30 22:01:28 2024 UTC