1myb
1myb

Reputation: 3596

PCRE libraries version is too old

The Bug Genie 3 requires PCRE librairies 8.0 or later. You have version 7.8 2008-09-05. Update your system to the latest release from your usual sources.

after i look at the problem and try to update my pcre libraries with the following step:

wget the latest source of pcre from sourceforge 8.31

# tar -xzf pcre-8.31.tar.gz
# cd pcre-8.31
# ./configure --enable-utf8  --enable-unicode-properties
# make && make install

when i do pcretest -C i got this

[root@server1 /]# pcretest -C
PCRE version 8.31 2012-07-06
Compiled with
  8-bit support only
  UTF-8 support
  Unicode properties support
  No just-in-time compiler support
  Newline sequence is LF
  \R matches all Unicode newlines
  Internal link size = 2
  POSIX malloc threshold = 10
  Default match limit = 10000000
  Default recursion depth limit = 10000000
  Match recursion uses stack

and when i do locate, there are a lot

[root@server1 /]# locate libpcre
/lib64/libpcre.so.0
/lib64/libpcre.so.0.0.1
/usr/lib64/libpcrecpp.so.0
/usr/lib64/libpcrecpp.so.0.0.0
/usr/lib64/libpcreposix.so.0
/usr/lib64/libpcreposix.so.0.0.0
/usr/local/lib/libpcre.a
/usr/local/lib/libpcre.la
/usr/local/lib/libpcre.so
/usr/local/lib/libpcre.so.1
/usr/local/lib/libpcre.so.1.0.1
/usr/local/lib/libpcrecpp.a
/usr/local/lib/libpcrecpp.la
/usr/local/lib/libpcrecpp.so
/usr/local/lib/libpcrecpp.so.0
/usr/local/lib/libpcrecpp.so.0.0.0
/usr/local/lib/libpcreposix.a
/usr/local/lib/libpcreposix.la
/usr/local/lib/libpcreposix.so
/usr/local/lib/libpcreposix.so.0
/usr/local/lib/libpcreposix.so.0.0.1
/usr/local/lib/pkgconfig/libpcre.pc
/usr/local/lib/pkgconfig/libpcrecpp.pc
/usr/local/lib/pkgconfig/libpcreposix.pc

finally, i backed to my php info happily.. it still show me version 7.8 installed.

enter image description here

May i know what should i do to solve this while the open source application buggenie need this . Thx for reply.

Upvotes: 5

Views: 19804

Answers (4)

zzapper
zzapper

Reputation: 5043

On my Centos 5.9 I could upgrade pcre from 6.* to 8.* no problem but could not get it "recognised" by PHP or Apache. Problem solved itself by upgrading php53 to php54

Upvotes: 0

nadie
nadie

Reputation: 51

On Centos 5.9 a modified version of drmanalo's steps worked for us:

  1. Search for existing pcre
    rpm -q --queryformat "%{name}.%{arch}\n" pcre
  2. Remove all existing pcre using --nodeps
    rpm -ev --nodeps pcre-devel.x86_64
    rpm -ev --nodeps pcre.x86_64
    rpm -ev --nodeps pcre-devel.i386
    rpm -ev --nodeps pcre.i386
  3. Added repository
    nano /etc/yum.repos.d/utter-ramblings.repo

    [utter-ramblings]
    name=Utter Ramblings
    baseurl=http://www.jasonlitka.com/media/EL5/x86_64/
    gpgkey=#same.url.as.above#/media/RPM-GPG-KEY-jlitka
    enabled=1
    gpgcheck=1

  4. Installed using yum
    yum --disablerepo=* --enablerepo=utter-ramblings install pcre pcre-devel
  5. Restart your web service and check phpinfo

Upvotes: 4

drmanalo
drmanalo

Reputation: 111

I'm Centos 6.3 user. This worked in my case.

  1. Search for existing pcre.

    rpm -qa | grep pcre
    
  2. Remove all existing pcre using --nodeps.

  3. Download pcre rpm higher than 8.x. I used one from http://rpmfind.net/linux/rpm2html/search.php?query=pcre

  4. Install it using rpm.

  5. Restart your web service and check phpinfo. It should reveal the pcre libraries you just installed.

Upvotes: 5

galymzhan
galymzhan

Reputation: 5523

I think you have to manually build PHP against newest PCRE library using --with-pcre-regex=DIR option. To do so, you need to obtain the PHP sources and PCRE sources, as well as sources of all other libraries you might need.

This page http://php.net/manual/en/pcre.installation.php summarizes versions of PCRE bundled with PHP.

The much easier option would be updating PHP using package manager of your OS (perhaps by enabling unstable repositories), but this depends on your OS.

Upvotes: 2

Related Questions