On 19.10.2010 15:32, Michael Felt wrote:
Maybe a bug? with ext/* I wonder if it is internal, or something borrowed.
The hardpart is to get a compiler old enough to not have stdint.h I suppose,
but when that is the case the build fails and/or configure misses it.
from /data/prj/php-5.2.14
# grep -n HAVE_STDINT_H */*/*/*.h
ext/date/lib/timelib_structs.h:32:#elif defined(HAVE_STDINT_H)
ext/pcre/pcrelib/config.h:108:#ifndef HAVE_STDINT_H
ext/pcre/pcrelib/config.h:109:#define HAVE_STDINT_H 1
ext/pcre/pcrelib/pcre_internal.h:197:#elif HAVE_STDINT_H
# ls -l ext/pcre/pcrelib/config.h
-rw-r--r-- 1 1005 1005 11704 Mar 29 2010
ext/pcre/pcrelib/config.h
From the date I conclude configure has nothing to do with this, from the
line numbers I wonder why they say
#ifndef SOME_VARIABLE
#define SOME_VARIABLE 1
There are consequences! pcre_internal.h believes this! So, my question is:
whose error is it? PHP, or somewhere external?
make returns:
# make
/bin/sh /data/prj/php-5.2.14/libtool --silent --preserve-dup-deps
--mode=compile gcc -I/data/prj/php-5.2.14/ext/pcre/pcrelib -Iext/pcre/
-I/data/prj/php-5.2.14/ext/pcre/ -DPHP_ATOM_INC
-I/data/prj/php-5.2.14/include -I/data/prj/php-5.2.14/main
-I/data/prj/php-5.2.14 -I/data/prj/php-5.2.14/ext/date/lib
-I/usr/local/include/libxml2 -I/usr/local/include
-I/usr/local/include/freetype2 -I/usr/local/mysql/include
-I/data/prj/php-5.2.14/TSRM -I/data/prj/php-5.2.14/Zend -I/usr/include
-L/usr/local/ssl/lib -L/usr/local/mysql/lib -L/usr/local/lib -c
/data/prj/php-5.2.14/ext/pcre/pcrelib/pcre_chartables.c -o
ext/pcre/pcrelib/pcre_chartables.lo
In file included from
/data/prj/php-5.2.14/ext/pcre/pcrelib/pcre_chartables.c:25:
/data/prj/php-5.2.14/ext/pcre/pcrelib/pcre_internal.h:198:20: stdint.h: No
such file or directory
make: *** [ext/pcre/pcrelib/pcre_chartables.lo] Error 1
This is on AIX 4.3.3 and gcc.
Similar problem on Solaris 8. There's no good way of replacing a
configure based build by a fixed header file. It would be better to run
pcre configure as part of the php configure. When building for Solaris
8, I e.g. need to redefine several defines:
typeset file=ext/pcre/pcrelib/config.h
cp -p $file $file.saved
sed \
-e 's/#define HAVE_READLINE_HISTORY_H 1/#define
HAVE_READLINE_HISTORY_H 0/' \
-e 's/#define HAVE_READLINE_READLINE_H 1/#define
HAVE_READLINE_READLINE_H 0/' \
-e 's/#define HAVE_STDINT_H 1/#define HAVE_STDINT_H 0/' \
-e 's/#define HAVE_STRTOQ 1/#define HAVE_STRTOQ 0/' \
$file.saved > $file
Regards,
Rainer
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php