upgrade apache-2.2.20 -> 2.2.21

Jeremy Chadwick freebsd at jdc.parodius.com
Wed Sep 21 05:41:56 UTC 2011


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 |



More information about the freebsd-apache mailing list