From owner-freebsd-apache@FreeBSD.ORG Wed Sep 21 07:53:54 2011 Return-Path: Delivered-To: apache@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E0A25106564A for ; Wed, 21 Sep 2011 07:53:54 +0000 (UTC) (envelope-from ohauer@gmx.de) Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by mx1.freebsd.org (Postfix) with SMTP id 610118FC08 for ; Wed, 21 Sep 2011 07:53:53 +0000 (UTC) Received: (qmail invoked by alias); 21 Sep 2011 07:27:13 -0000 Received: from hu5.abaxx.de (EHLO [10.6.25.100]) [213.61.170.110] by mail.gmx.net (mp008) with SMTP; 21 Sep 2011 09:27:13 +0200 X-Authenticated: #1956535 X-Provags-ID: V01U2FsdGVkX18ayWZNpLwaHU2vlPHz8RWHZtTyPnPkIKGoyQJpC+ hWdjGhgFkjrVR/ Message-ID: <4E7991D7.10004@gmx.de> Date: Wed, 21 Sep 2011 09:27:19 +0200 From: olli hauer User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2 MIME-Version: 1.0 To: Jeremy Chadwick References: <4E78EF21.3010002@FreeBSD.org> <4E7974C5.20004@FreeBSD.org> <20110921054154.GA30759@icarus.home.lan> In-Reply-To: <20110921054154.GA30759@icarus.home.lan> X-Enigmail-Version: 1.3.2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 Cc: n dhert , apache@FreeBSD.org Subject: Re: upgrade apache-2.2.20 -> 2.2.21 X-BeenThere: freebsd-apache@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Support of apache-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Sep 2011 07:53:55 -0000 On 2011-09-21 07:41, Jeremy Chadwick wrote: > On Wed, Sep 21, 2011 at 07:23:17AM +0200, Olli Hauer wrote: >> On 2011-09-21 06:43, n dhert wrote: >>> Hi, >>> >>> this is the output: >>> >>> ]$ ldd /usr/local/libexec/apache22/libphp5.so >>> /usr/local/libexec/apache22/libphp5.so: >>> libcrypt.so.5 => /lib/libcrypt.so.5 (0x800889000) >>> librt.so.1 => /usr/lib/librt.so.1 (0x800fcd000) >>> libm.so.5 => /lib/libm.so.5 (0x8010d2000) >>> libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x8011f2000) >>> libz.so.5 => /lib/libz.so.5 (0x80143e000) >>> libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x801553000) >>> libc.so.7 => /lib/libc.so.7 (0x800647000) >>> $ ldd /usr/local/bin/php* >>> /usr/local/bin/php: >>> libcrypt.so.5 => /lib/libcrypt.so.5 (0x800855000) >>> librt.so.1 => /usr/lib/librt.so.1 (0x80096e000) >>> libm.so.5 => /lib/libm.so.5 (0x800a73000) >>> libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x800b93000) >>> libz.so.5 => /lib/libz.so.5 (0x800ddf000) >>> libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x800ef4000) >>> libc.so.7 => /lib/libc.so.7 (0x8010ee000) >>> /usr/local/bin/php-cgi: >>> libcrypt.so.5 => /lib/libcrypt.so.5 (0x800858000) >>> librt.so.1 => /usr/lib/librt.so.1 (0x800971000) >>> libm.so.5 => /lib/libm.so.5 (0x800a76000) >>> libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x800b96000) >>> libz.so.5 => /lib/libz.so.5 (0x800de2000) >>> libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x800ef7000) >>> libc.so.7 => /lib/libc.so.7 (0x8010f1000) >>> ldd: /usr/local/bin/php-config: not a dynamic executable >>> ldd: /usr/local/bin/phpize: not a dynamic executable >>> I guess this is normal? >>> >> >> I'm missing pcre. >> >> If this is lang/php5, then pcre is a default LIB dependency and >> the output should have a line like this. >> >> libpcre.so.0 => /usr/local/lib/libpcre.so.0 > > Incorrect. > > For PHP, PCRE is included within the PHP core **STATICALLY** (but keep > reading). This is INTENTIONAL. You will not see it in ldd output. You > can verify this using "objdump -x /usr/local/bin/php | grep -i pcre" if > you think I'm mouth and trousers. > > For Apache, PCRE is linked DYNAMICALLY within httpd itself. > Verification: > > # ldd /usr/local/sbin/httpd | grep -i pcre > libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0xa07ba000) > Hm, thats strange, since in lang/php5 we can find the following lines LIB_DEPENDS= pcre.0:${PORTSDIR}/devel/pcre CONFIGURE_ARGS= \ ... --with-pcre-regex=${LOCALBASE} \ ... and on my machine the output looks like this. /usr/local/bin/php: libcrypt.so.4 => /lib/libcrypt.so.4 (0x282fc000) libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28315000) libm.so.5 => /lib/libm.so.5 (0x28353000) libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x28369000) libz.so.4 => /lib/libz.so.4 (0x28493000) libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x284a5000) libc.so.7 => /lib/libc.so.7 (0x2859b000) >> If this is php52 make sure to install devel/php52-pcre. > > Mostly incorrect -- is not needed for PCRE functionality within PHP. > > devel/php52-pcre is a "stub" port for lang/php52. > lang/php52/Makefile.ext has the following code in it: > > > .if ${PHP_MODNAME} == "pcre" > OPTIONS= BUNDLED_PCRE "Select if you use apache 2.0.x" off > .endif > > .if ${PHP_MODNAME} == "pcre" > . if defined(WITH_BUNDLED_PCRE) > CONFIGURE_ARGS+=--with-pcre-regex=yes > > PHP_HEADER_DIRS=pcrelib > . else > LIB_DEPENDS+= pcre.0:${PORTSDIR}/devel/pcre > > CONFIGURE_ARGS+=--with-pcre-regex=${LOCALBASE} > . endif > > > Do you understand this code? If you need it explained let us know, > otherwise the answer should then become obvious. Jap, haven't read the full lang/php52 port (I confess I've done only a grep) > I'm of the opinion lang/php52-pcre and the above shim for supporting > a library-based PCRE should be removed. PHP has gone to *extreme* > lengths to force people to use "bundled" versions of software to > guarantee 100% compatibility with PHP. Meaning: link PHP to a pcre > library that's in /usr/local/lib (and thus off the pcre port itself) and > you might experience crashing problems or other anomalies. That's why > they advocate use of bundled crap now. > >> To bring in some more light it will be helpfull know your php version >> and have the output of the command. >> >> $ pkg_info -qoax php pcre > > I have not seen the OP's post yet (greylisting and other crap on the > mailing list servers are stalling it), so I do not know what the true > discussion of the problem is. > The OP mailed me directly since he complains drupal is broken since the last apache22 update. I guess the OP is not subscribed to apache@ so I will include his initial request. Since the only place where I use php is the tinderbox webfrontend I added apache@ to CC: Original request: > Hi, > > Monday I did a portupgrade > apache-2.2.20 < needs updating (index has 2.2.21) > There was no problem during the update (and nothing special mentionned in > /usr/ports/UPDATING) > > Today Tuesday afternoon I did a > # apachectl graceful > Since them, several webpages give problems > this error comes up: > warning: preg_match() > > [function.preg-match]: > > > - Tekst uit oorspronkelijke bericht niet weergeven - > > Compilation failed: internal error: previously-checked referenced subpattern > not found at offset 389 in > /usr/local/www/apache22/data/drupal-6.22/includes/database.inc on line 347. > > nothing was changed to the website(s). > In the morning today everything was still OK. The # apachectl grafecul must > have loaded the new httpd (apache2.2.21) and now gives these errors. > > What can be the reason and how to solve? >