From owner-freebsd-apache@FreeBSD.ORG Wed Sep 21 05:41:56 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 3BD0F106566C for ; Wed, 21 Sep 2011 05:41:56 +0000 (UTC) (envelope-from jdc@koitsu.dyndns.org) Received: from qmta04.emeryville.ca.mail.comcast.net (qmta04.emeryville.ca.mail.comcast.net [76.96.30.40]) by mx1.freebsd.org (Postfix) with ESMTP id 234CC8FC08 for ; Wed, 21 Sep 2011 05:41:55 +0000 (UTC) Received: from omta21.emeryville.ca.mail.comcast.net ([76.96.30.88]) by qmta04.emeryville.ca.mail.comcast.net with comcast id azhF1h0011u4NiLA4HhpjL; Wed, 21 Sep 2011 05:41:49 +0000 Received: from koitsu.dyndns.org ([67.180.84.87]) by omta21.emeryville.ca.mail.comcast.net with comcast id bHqv1h00G1t3BNj8hHqv2V; Wed, 21 Sep 2011 05:50:55 +0000 Received: by icarus.home.lan (Postfix, from userid 1000) id E4C53102C31; Tue, 20 Sep 2011 22:41:54 -0700 (PDT) Date: Tue, 20 Sep 2011 22:41:54 -0700 From: Jeremy Chadwick To: Olli Hauer Message-ID: <20110921054154.GA30759@icarus.home.lan> References: <4E78EF21.3010002@FreeBSD.org> <4E7974C5.20004@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4E7974C5.20004@FreeBSD.org> User-Agent: Mutt/1.5.21 (2010-09-15) 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 05:41:56 -0000 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) > 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. 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. -- | Jeremy Chadwick jdc at parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, US | | Making life hard for others since 1977. PGP 4BD6C0CB |