Opened 22 years ago

Closed 22 years ago

Last modified 21 years ago

#252 closed defect (wontfix)

[configure] Problem vs PHP4's --with-regex=system option

Reported by: dmorissette Owned by: dmorissette
Priority: high Milestone:
Component: Build Problems Version: 4.0
Severity: normal Keywords:
Cc:

Description

Subject:         ./configure bug
   Date:         Mon, 30 Dec 2002 16:19:04 -0500 (EST)
   From:         richard hornsby <rhornsby@io.osuedc.org>
     To:         mapserver-bugs@lists.gis.umn.edu

I think I'll be able to work around this, but this error is coming up when
trying to ./configure MapServer:

!!! The current version of PHP MapScript has some problems with       !!!
!!! PHP4's bundled regex.  Until we figure the solution to the        !!!
!!! problem, the workaround is to compile PHP4 with the system regex  !!!
!!! Please re-configure and re-compile PHP4 with --with-system-regex  !!!
!!! and then re-configure and re-compile MapServer.                   !!!

The '--with-system-regex' option in PHP is deprecated, and has been
superceded by '--with-regex=system'

ie, my PHP ./configure looks like:

 './configure' '--with-apxs=/usr/local/apache/bin/apxs'
'--enable-trans-sid' '--enable-track-vars' '--with-gd' '--with-pdflib'
'--with-jpeg-dir' '--with-tiff-dir' '--with-pspell' '--with-freetype-dir'
'--enable-gd-native-ttf' '--with-png-dir' '--with-zlib-dir' '--with-ttf'
'--with-regex=system'

but the MapServer script complains.  :)

Change History (4)

comment:1 by dmorissette, 22 years ago

This works in general for us on all platforms that we use.  Can you please tell 
us:

- MapServer version
- OS and version
- PHP version

Also, it is quite possible that this is happening because PHP4 fails to find a 
system regex and decides to use its internal regex anyway.  Please check your 
phpinfo() output to confirm that system regex was indeed selected.  You should 
find the following in the phpinfo() output if it is:
 "Regex Library    |   System library enabled"

comment:2 by rhornsby@…, 22 years ago

ref linux mandrake 9
ref php 4.2.2

You might be right, in any case.  From PHP's ./configure --help :

  --with-regex=TYPE       regex library type: system, apache, php
  --with-system-regex     (deprecated) Use system regex library

I found that mapserver was checking main/php_config.h for the presence of
'#define REGEX 0'.  When I used '--with-regex=system', the php_config.h file was
still being written out as '#define REGEX 1'.  Once I used the supposedly
deprecated option, --with-system-regex, REGEX was set to 0, which is what the
mapserver ./configure is looking for.

So -- its not a big deal, but it could be in later versions of PHP if they
decide to remove '--with-system-regex' - tho that is the one that seems to work?

comment:3 by dmorissette, 22 years ago

Resolution: wontfix
Status: newclosed
I had a look at PHP4's ext/standard/config.m4 where the regex switches are 
handled and here is what is happening:

--with-regex=system has no effect if SAPI module is 'apache' which is what 
happens when you use the --with-apxs switch.

OTOH --with-system-regex is still there and doesn't have this check on the SAPI 
module, that's why it always works even if you use --with-apxs

So I don't think there is much we can do about this in MapServer's configure 
script, it's really in the PHP configure script that the issue happened, and 
since MapServer works only with PHP as a CGI, I think I'll mark this as WONTFIX.

Note: When we re-enable support for the PHP DSO then we'll have to deal with 
this situation and find out why PHP forces the use of the PHP regex when running 
PHP as an Apache DSO ... and for the same reasons we'll probably have to force 
the use of the PHP regex in MapServer as well if the --with-php switch is used 
with MapServer.

comment:4 by dmorissette, 21 years ago

For the record, someone filed a bug about the regex issue in the PHP bugs
tracking system:  http://bugs.php.net/bug.php?id=25704
Note: See TracTickets for help on using tickets.