From:             flconseil at yahoo dot fr
Operating system: AIX 5.2
PHP version:      5.1.6
PHP Bug Type:     *Compile Issues
Bug description:  Error in Makefile - cannot generate global symbols for CLI 
interpreter

Description:
------------
Before linking the 'php' CLI executable file, the symbol table is
generated in the 'php.sym' file.

The command to generate the symbols and link the CLI interpreter is
contained in the BUILD_CLI variable (in the Makefile). This string
contains a 'sed' command to transform the '.lo' pathnames to their '.o'
content, and this command is wrong in 5.1.6.

Reproduce code:
---------------
In 5.1.6, the sed command is :

sed 's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'

, which just changes the '.lo' suffix to '.o'. It is wrong because the
'.o' files are in the '.libs' subdirectory !

Expected result:
----------------
The correct syntax for the sed command should be the same as version 5.1.2
:

sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'

(I just looked at versions 5.1.2 and 5.1.6. I don't know if 5.1.4 is
correct or wrong)

Actual result:
--------------
When generating the 'php.sym' file, the 'nm' command receives wrong
pathnames and does not output any symbol. As there is a pipe to 'awk', its
return code of 1 does not cause the make process to stop (return code from
awk is OK). So, the php interpreter is generated with and empty 'php.sym'
file, which means that it does not export any gloabl symbol.

It works well until someone tries to load a shared extension. At this
time, any call from the extension to the core code cannot be resolved by
the runtime linker and the load fails.

I don't know if every extension calls some functions in the core but, on
my configuration, it is the case, and none of them can be loaded. It
starts with bcmath unable to resolve 'OnUpdateLong', and, then, every
extension has some unresolved symbols.

-- 
Edit bug report at http://bugs.php.net/?id=38872&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=38872&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=38872&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=38872&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=38872&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=38872&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=38872&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=38872&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=38872&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=38872&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=38872&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=38872&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=38872&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=38872&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=38872&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=38872&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=38872&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=38872&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=38872&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=38872&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=38872&r=mysqlcfg

Reply via email to