php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #1608 A configure and compile that works on 3.0.7 is broken in 3.0.10
Submitted: 1999-06-27 07:41 UTC Modified: 1999-06-27 21:23 UTC
From: pni at rubicon dot no Assigned:
Status: Closed Package: Compile Failure
PHP Version: 3.0.10 OS: Redhat Linux 5.2
Private report: No CVE-ID: None
 [1999-06-27 07:41 UTC] pni at rubicon dot no
On 3.0.7, the following configure line works:

./configure  --with-apxs=/usr/sbin/apxs --with-config-file=/etc/php3.ini --with-sybase-ct=/opt/sybase

Compiles as (after adding /usr/include/apache to the include directives, why isn't it added automatically??):

gcc -g -O2 -O2 -fpic  -I. -I.   -I/usr/include/apache     -I/opt/sybase/include                         -c language-parser.tab.c -o language-parser.tab.o

.... (no errors reported)

However, in 3.0.10 the exact same configure line (with the same modification added to the Makefile to get the apache headers) results in this:

gcc -g -O2 -O2 -fpic  -I. -I.   -I/usr/include/apache     -I/opt/sybase/include                  -c language-parser.tab.c -o language-parser.tab.o
In file included from /usr/include/apache/ap_config.h:1011,
                 from php.h:191,
                 from language-parser.y:57:
/usr/include/apache/hsregex.h:41: warning: `REG_EXTENDED' redefined
/usr/include/regex.h:252: warning: this is the location of the previous definition
/usr/include/apache/hsregex.h:42: warning: `REG_ICASE' redefined
/usr/include/regex.h:256: warning: this is the location of the previous definition
/usr/include/apache/hsregex.h:43: warning: `REG_NOSUB' redefined
/usr/include/regex.h:265: warning: this is the location of the previous definition
/usr/include/apache/hsregex.h:44: warning: `REG_NEWLINE' redefined
/usr/include/regex.h:261: warning: this is the location of the previous definition
/usr/include/apache/hsregex.h:74: warning: `REG_NOTBOL' redefined
/usr/include/regex.h:275: warning: this is the location of the previous definition
/usr/include/apache/hsregex.h:75: warning: `REG_NOTEOL' redefined
/usr/include/regex.h:278: warning: this is the location of the previous definition
In file included from /usr/include/apache/ap_config.h:1011,
                 from php.h:191,
                 from language-parser.y:57:
/usr/include/apache/hsregex.h:25: conflicting types for `regoff_t'
/usr/include/regex.h:390: previous declaration of `regoff_t'
/usr/include/apache/hsregex.h:31: conflicting types for `regex_t'
/usr/include/regex.h:387: previous declaration of `regex_t'
/usr/include/apache/hsregex.h:35: conflicting types for `regmatch_t'
/usr/include/regex.h:418: previous declaration of `regmatch_t'
/usr/include/apache/hsregex.h:39: conflicting types for `regcomp'
/usr/include/regex.h:513: previous declaration of `regcomp'
/usr/include/apache/hsregex.h:69: conflicting types for `regerror'
/usr/include/regex.h:519: previous declaration of `regerror'
/usr/include/apache/hsregex.h:73: conflicting types for `regexec'
/usr/include/regex.h:516: previous declaration of `regexec'
/usr/include/apache/hsregex.h:83: conflicting types for `regfree'
/usr/include/regex.h:520: previous declaration of `regfree'
make: *** [language-parser.tab.o] Error 1


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [1999-06-27 08:05 UTC] pni at rubicon dot no
The reason for the failure seems to be that in 3.0.7, config.status contains these lines:

s%@REGEX_LIB@%regex/libregex.a%g
s%@HSREGEX@%yes%g

while in 3.0.10 they are:

s%@REGEX_LIB@%%g
s%@HSREGEX@%no%g

configure.in has changed from 3.0.7 to 3.0.10 when it tries to find out whether to use apache regex or system regex. In 3.0.10 it relies on apxs to find this out, but it doesn't take into account the situation where apxs might fail due to external reasons not related to regex (like it can't find "bin/httpd"), and therefore the wrong regex will be used. Using --with-system-regex=no on the configure command line makes no difference.
 [1999-06-27 08:18 UTC] pni at rubicon dot no
The check mentioned seems to be in configure itself.
 [1999-06-27 21:23 UTC] sas at cvs dot php dot net
Fixed in CVS and 3.0.11
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Jun 02 02:01:29 2024 UTC