Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Mar 2007 23:15:18 +0100
From:      =?ISO-8859-1?Q?Andr=E9_B=F6hm?= <andre@abtime.de>
To:        jmcgee@clear-data.com
Cc:        ports@FreeBSD.org, ale@FreeBSD.org
Subject:   php5-pcre-5.2.1_4 was Re: FreeBSD Port: php5-5.2.1_3
Message-ID:  <45F5D0F6.8000306@abtime.de>
In-Reply-To: <45EDF2CF.2070807@clear-data.com>
References:  <45EDF2CF.2070807@clear-data.com>

next in thread | previous in thread | raw e-mail | index | archive | help
J. McGee schrieb:
> Ale,
> 
> I made the following changes in my local ports tree to
> lang/php5/Makefile.ext starting at line 233 due to a nasty
> bug(http://bugs.php.net/bug.php?id=38327&edit=1) that killed half of my
> websites after upgrading php.  This allowed me to use the ports version
> of pcre-7.0(utf8) instead of the broken php included 6.7.  I don't know
> the proper chains to go about notifying anyone or writing this change
> correctly, so I thought I would send you an e-mail as you are listed as
> the maintainer.
> 
> Diff:
> [root@rod /usr/ports/lang/php5]# diff Makefile.ext.bak Makefile.ext
> 235c235,237
> < CONFIGURE_ARGS+=--with-pcre-regex=yes
> ---
>> LIB_DEPENDS+=   pcre.0:${PORTSDIR}/devel/pcre-utf8
>>
>> CONFIGURE_ARGS+=--with-pcre-regex=/usr/local
> [root@rod /usr/ports/lang/php5]#
> 
> OLD:
> .if ${PHP_MODNAME} == "pcre"
> CONFIGURE_ARGS+=--with-pcre-regex=yes
> 
> PHP_HEADER_DIRS=pcrelib
> .endif
> 
> 
> NEW:
> .if ${PHP_MODNAME} == "pcre"
> LIB_DEPENDS+=   pcre.0:${PORTSDIR}/devel/pcre-utf8
> 
> CONFIGURE_ARGS+=--with-pcre-regex=/usr/local
> 
> PHP_HEADER_DIRS=pcrelib
> .endif
> 
> Hopefully this gets to you and doesn't get filed as spam.
> 
> --Jared
> 

After the latest patch for pcre utf8 compatibility (php5-pcre-5.2.1_4),
I still get warnings about "Compilation failed: this version of PCRE is
not compiled with PCRE_UTF8 support at offset 0" for what looks like any
pcre-function that uses "u" as pattern modificator, while the look
behind / read ahead error has so far vanished.



After "portupgrade -fo devel/pcre devel/pcre-utf8", I recompiled
everything twice, first "-f php5\*", then after checking
php/extensions.ini for the startup order, "-f pecl\*", then again "-f
pcre", checked php -v for startup errors and restarted apache.

I used this snippet to test:

<?php

ini_set('display_errors', 1);
error_reporting(E_ALL);

$test = preg_match("/123/u", "abcdef");

var_dump($test);

?>




Also, pecl-zip cannot be build. I get:
===>  Building for pecl-zip-1.9.0
/bin/sh /usr/ports/archivers/pecl-zip/work/zip-1.9.0/libtool
--mode=compile cc  -I. -I/usr/ports/archivers/pecl-zip/work/zip-1.9.0
-DPHP_ATOM_INC -I/usr/ports/archivers/pecl-zip/work/zip-1.9.0/include
-I/usr/ports/archivers/pecl-zip/work/zip-1.9.0/main
-I/usr/ports/archivers/pecl-zip/work/zip-1.9.0 -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  -O2
-fno-strict-aliasing -pipe   -c
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c -o php_zip.lo
mkdir .libs
 cc -I. -I/usr/ports/archivers/pecl-zip/work/zip-1.9.0 -DPHP_ATOM_INC
-I/usr/ports/archivers/pecl-zip/work/zip-1.9.0/include
-I/usr/ports/archivers/pecl-zip/work/zip-1.9.0/main
-I/usr/ports/archivers/pecl-zip/work/zip-1.9.0 -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 -O2
-fno-strict-aliasing -pipe -c
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c  -fPIC -DPIC -o
.libs/php_zip.o
In file included from
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:30:
/usr/local/include/php/ext/pcre/php_pcre.h:29:18: pcre.h: No such file
or directory
In file included from
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:30:
/usr/local/include/php/ext/pcre/php_pcre.h:45: error: syntax error
before '*' token
/usr/local/include/php/ext/pcre/php_pcre.h:45: error: syntax error
before "pcre_extra"
/usr/local/include/php/ext/pcre/php_pcre.h:45: warning: data definition
has no type or storage class
/usr/local/include/php/ext/pcre/php_pcre.h:46: error: syntax error
before '*' token
/usr/local/include/php/ext/pcre/php_pcre.h:46: error: syntax error
before "pcre_extra"
/usr/local/include/php/ext/pcre/php_pcre.h:46: warning: data definition
has no type or storage class
/usr/local/include/php/ext/pcre/php_pcre.h:52: error: syntax error
before "pcre"
In file included from
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:33:
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/lib/zipint.h:52:1: warning:
"MAXCOMLEN" redefined
In file included from /usr/local/include/php/main/php.h:205,
                 from
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:25:
/usr/include/sys/param.h:75:1: warning: this is the location of the
previous definition
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c: In function
`php_zip_extract_file':
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:127: warning:
passing arg 6 of `php_basename' from incompatible pointer type
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c: In function
`php_zip_pcre':
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:537: error:
`pcre' undeclared (first use in this function)
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:537: error: (Each
undeclared identifier is reported only once
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:537: error: for
each function it appears in.)
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:537: error: `re'
undeclared (first use in this function)
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:538: error:
`pcre_extra' undeclared (first use in this function)
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c: In function
`php_zip_add_from_pattern':
/usr/ports/archivers/pecl-zip/work/zip-1.9.0/php_zip.c:1436: warning:
passing arg 6 of `php_basename' from incompatible pointer type
*** Error code 1

Stop in /usr/ports/archivers/pecl-zip/work/zip-1.9.0.
*** Error code 1

Stop in /usr/ports/archivers/pecl-zip.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45F5D0F6.8000306>