Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:49937 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 71997 invoked from network); 19 Oct 2010 22:33:40 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Oct 2010 22:33:40 -0000 Authentication-Results: pb1.pair.com smtp.mail=rainer.jung@kippdata.de; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rainer.jung@kippdata.de; sender-id=pass Received-SPF: pass (pb1.pair.com: domain kippdata.de designates 195.227.30.149 as permitted sender) X-PHP-List-Original-Sender: rainer.jung@kippdata.de X-Host-Fingerprint: 195.227.30.149 capsella.kippdata.de Solaris 10 (beta) Received: from [195.227.30.149] ([195.227.30.149:39465] helo=mailserver.kippdata.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 29/04-49452-2CC1EBC4 for ; Tue, 19 Oct 2010 18:33:40 -0400 Received: from [192.168.2.166] ([192.168.2.166]) by mailserver.kippdata.de (8.13.5/8.13.5) with ESMTP id o9JMXYns028877; Wed, 20 Oct 2010 00:33:34 +0200 (CEST) Message-ID: <4CBE1CBD.3010807@kippdata.de> Date: Wed, 20 Oct 2010 00:33:33 +0200 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4 MIME-Version: 1.0 To: Michael Felt CC: internals@lists.php.net References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] ext/pcre/pcrelib/config.h:#define HAVE_STDINT_H 1 - bug in PHP or ext(ernal) package that needs to be contacted? From: rainer.jung@kippdata.de (Rainer Jung) 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