php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #57545 Wont build against 5.2.1
Submitted: 2007-02-24 10:44 UTC Modified: 2013-02-26 13:40 UTC
From: jesper at borgstrup dot dk Assigned: pollita (profile)
Status: Closed Package: runkit (PECL)
PHP Version: 5.2.1 OS: Gentoo/Linux
Private report: No CVE-ID: None
 [2007-02-24 10:44 UTC] jesper at borgstrup dot dk
Description:
------------
runkit-0.9-beta just wont compile against PHP 5.2.1 . 

I am using gcc 4.1.1

php -m:

[PHP Modules]
ctype
date
dom
filter
hash
iconv
json
libxml
mysql
pcre
PDO
pdo_sqlite
posix
Reflection
session
SimpleXML
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter

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

php -v:

PHP 5.2.1 (cli) (built: Feb 24 2007 22:31:23)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

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



Reproduce code:
---------------
pecl -install runkit-beta

Expected result:
----------------
a complete compile without errors

Actual result:
--------------
Here is the output from 'pecl install runkit-beta':

downloading runkit-0.9.tar ...
Starting to download runkit-0.9.tar (-1 bytes)
................done: 293,888 bytes
14 source files, building
running: phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
building in /var/tmp/pear-build-root/runkit-0.9
running: /tmp/pear/cache/runkit-0.9/configure
creating cache ./config.cache
checking for Cygwin environment... no
checking for mingw32 environment... no
checking how to run the C preprocessor... cc -E
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking whether gcc and cc understand -c and -o together... yes
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for PHP prefix... /usr/local
checking for PHP includes... -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib
checking for PHP extension directory... /usr/local/lib/php/extensions/no-debug-non-zts-20060613
checking for PHP installed headers prefix... /usr/local/include/php
checking for re2c... no
configure: warning: You will need re2c 0.9.11 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking whether to enable runkit support... yes, shared
checking wheter to enable runtime manipulation of functions/classes/constants... yes, shared
checking whether to enable registration of user-defined autoglobals... yes, shared
checking whether to enable Sandbox support... yes, shared
checking build system type... i686-pc-linux-gnu
checking for ld used by gcc... /usr/i386-pc-linux-gnu/bin/ld
checking if the linker (/usr/i386-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for /usr/i386-pc-linux-gnu/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking for object suffix... o
checking for executable suffix... no
checking for dlfcn.h... yes
checking for c++... c++
checking whether the C++ compiler (c++  ) works... yes
checking whether the C++ compiler (c++  ) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether c++ accepts -g... yes
checking how to run the C++ preprocessor... c++ -E
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag  works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/i386-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no

creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by c++... /usr/i386-pc-linux-gnu/bin/ld
checking if the linker (/usr/i386-pc-linux-gnu/bin/ld) is GNU ld... yes
checking whether the c++ linker (/usr/i386-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking for c++ option to produce PIC... -fPIC
checking if c++ PIC flag -fPIC works... yes
checking if c++ supports -c -o file.o... yes
checking whether the c++ linker (/usr/i386-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
updating cache ./config.cache
creating ./config.status
creating config.h
running: make
/bin/sh /var/tmp/pear-build-root/runkit-0.9/libtool --mode=compile gcc  -I. -I/tmp/pear/cache/runkit-0.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/runkit-0.9/include -I/var/tmp/pear-build-root/runkit-0.9/main -I/tmp/pear/cache/runkit-0.9 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/cache/runkit-0.9/runkit.c -o runkit.lo
mkdir .libs
 gcc -I. -I/tmp/pear/cache/runkit-0.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/runkit-0.9/include -I/var/tmp/pear-build-root/runkit-0.9/main -I/tmp/pear/cache/runkit-0.9 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/cache/runkit-0.9/runkit.c  -fPIC -DPIC -o .libs/runkit.o
/tmp/pear/cache/runkit-0.9/runkit.c: In function 'zm_deactivate_runkit':
/tmp/pear/cache/runkit-0.9/runkit.c:360: warning: passing argument 2 of 'zend_hash_apply' from incompatible pointer type
/tmp/pear/cache/runkit-0.9/runkit.c:370: warning: passing argument 2 of 'zend_hash_apply' from incompatible pointer type
/tmp/pear/cache/runkit-0.9/runkit.c:378: warning: passing argument 2 of 'zend_hash_apply_with_arguments' from incompatible pointer type
/bin/sh /var/tmp/pear-build-root/runkit-0.9/libtool --mode=compile gcc  -I. -I/tmp/pear/cache/runkit-0.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/runkit-0.9/include -I/var/tmp/pear-build-root/runkit-0.9/main -I/tmp/pear/cache/runkit-0.9 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/cache/runkit-0.9/runkit_functions.c -o runkit_functions.lo
 gcc -I. -I/tmp/pear/cache/runkit-0.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/runkit-0.9/include -I/var/tmp/pear-build-root/runkit-0.9/main -I/tmp/pear/cache/runkit-0.9 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/cache/runkit-0.9/runkit_functions.c  -fPIC -DPIC -o .libs/runkit_functions.o
/tmp/pear/cache/runkit-0.9/runkit_functions.c: In function 'php_runkit_fetch_function':
/tmp/pear/cache/runkit-0.9/runkit_functions.c:57: warning: passing argument 1 of 'php_strtolower' from incompatible pointer type
/tmp/pear/cache/runkit-0.9/runkit_functions.c:57: warning: passing argument 2 of 'php_strtolower' makes integer from pointer without a cast
/tmp/pear/cache/runkit-0.9/runkit_functions.c:96: warning: passing argument 4 of '_zend_hash_init' from incompatible pointer type
/tmp/pear/cache/runkit-0.9/runkit_functions.c: In function 'zif_runkit_function_add':
/tmp/pear/cache/runkit-0.9/runkit_functions.c:293: warning: passing argument 1 of 'php_strtolower' from incompatible pointer type
/tmp/pear/cache/runkit-0.9/runkit_functions.c:293: warning: passing argument 2 of 'php_strtolower' makes integer from pointer without a cast
/tmp/pear/cache/runkit-0.9/runkit_functions.c: In function 'zif_runkit_function_rename':
/tmp/pear/cache/runkit-0.9/runkit_functions.c:351: warning: passing argument 1 of 'php_strtolower' from incompatible pointer type
/tmp/pear/cache/runkit-0.9/runkit_functions.c:351: warning: passing argument 2 of 'php_strtolower' makes integer from pointer without a cast
/tmp/pear/cache/runkit-0.9/runkit_functions.c: In function 'zif_runkit_function_copy':
/tmp/pear/cache/runkit-0.9/runkit_functions.c:447: warning: passing argument 1 of 'php_strtolower' from incompatible pointer type
/tmp/pear/cache/runkit-0.9/runkit_functions.c:447: warning: passing argument 2 of 'php_strtolower' makes integer from pointer without a cast
/tmp/pear/cache/runkit-0.9/runkit_functions.c:467: warning: passing argument 4 of '_zend_hash_init' from incompatible pointer type
/bin/sh /var/tmp/pear-build-root/runkit-0.9/libtool --mode=compile gcc  -I. -I/tmp/pear/cache/runkit-0.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/runkit-0.9/include -I/var/tmp/pear-build-root/runkit-0.9/main -I/tmp/pear/cache/runkit-0.9 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/cache/runkit-0.9/runkit_methods.c -o runkit_methods.lo
 gcc -I. -I/tmp/pear/cache/runkit-0.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/runkit-0.9/include -I/var/tmp/pear-build-root/runkit-0.9/main -I/tmp/pear/cache/runkit-0.9 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/cache/runkit-0.9/runkit_methods.c  -fPIC -DPIC -o .libs/runkit_methods.o
/bin/sh /var/tmp/pear-build-root/runkit-0.9/libtool --mode=compile gcc  -I. -I/tmp/pear/cache/runkit-0.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/runkit-0.9/include -I/var/tmp/pear-build-root/runkit-0.9/main -I/tmp/pear/cache/runkit-0.9 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/cache/runkit-0.9/runkit_constants.c -o runkit_constants.lo
 gcc -I. -I/tmp/pear/cache/runkit-0.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/runkit-0.9/include -I/var/tmp/pear-build-root/runkit-0.9/main -I/tmp/pear/cache/runkit-0.9 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/cache/runkit-0.9/runkit_constants.c  -fPIC -DPIC -o .libs/runkit_constants.o
/bin/sh /var/tmp/pear-build-root/runkit-0.9/libtool --mode=compile gcc  -I. -I/tmp/pear/cache/runkit-0.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/runkit-0.9/include -I/var/tmp/pear-build-root/runkit-0.9/main -I/tmp/pear/cache/runkit-0.9 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/cache/runkit-0.9/runkit_import.c -o runkit_import.lo
 gcc -I. -I/tmp/pear/cache/runkit-0.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/runkit-0.9/include -I/var/tmp/pear-build-root/runkit-0.9/main -I/tmp/pear/cache/runkit-0.9 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/cache/runkit-0.9/runkit_import.c  -fPIC -DPIC -o .libs/runkit_import.o
/tmp/pear/cache/runkit-0.9/runkit_import.c: In function 'php_runkit_import_class_props':
/tmp/pear/cache/runkit-0.9/runkit_import.c:230: warning: passing argument 2 of 'zend_unmangle_property_name' makes integer from pointer without a cast
/tmp/pear/cache/runkit-0.9/runkit_import.c:230: error: too few arguments to function 'zend_unmangle_property_name'
make: *** [runkit_import.lo] Fejl 1
ERROR: `make' failed


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-04-02 12:33 UTC] darian at criticode dot com
This issue is already fixed in runkit CVS (which compiles fine against 5.2.1 as of right this minute), but here is a patch against runkit_import.c from 0.9 that may be used to get you going short term:

-- START PATCH
230c230
<                       zend_unmangle_property_name(key, key_len - 1, &cname, &pname);
---
>                       zend_unmangle_property_name(key, &cname, &pname);
-- END_PATCH

Installing from CVS is a much better option than using this modification.
 [2013-02-26 13:40 UTC] pollita@php.net
The fix for this bug has been committed.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.

 For Windows:

http://windows.php.net/snapshots/
 
Thank you for the report, and for helping us make PHP better.


 [2013-02-26 13:40 UTC] pollita@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: pollita
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Mar 19 06:01:30 2024 UTC