Difference between revisions of "Pcre"

From CBLFS
Jump to navigationJump to search
(doc files are in /usr/share/doc/pcre by default)
(Added --enable-pcre32 --enable-pcre16 to ./configure to fix Apache build error)
 
(8 intermediate revisions by 3 users not shown)
Line 7: Line 7:
 
----
 
----
  
{{Package-Introduction|...a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5|http://www.pcre.org}}
+
{{Package-Introduction|PCRE is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.|http://www.pcre.org}}
  
 
== Dependencies ==
 
== Dependencies ==
Line 15: Line 15:
 
Configure and compile the package:
 
Configure and compile the package:
  
  ./configure --prefix=/usr --enable-utf8 &&
+
  ./configure --prefix=/usr \
 +
    --enable-utf8 --enable-unicode-properties \
 +
    --enable-pcregrep-libz  --enable-pcregrep-libbz2 \
 +
    --enable-pcretest-libreadline --enable-pcre32 --enable-pcre16 &&
 
  make
 
  make
 +
  
 
Install the package:
 
Install the package:
Line 25: Line 29:
  
 
  mv -v /usr/lib/libpcre.so.* /lib/ &&
 
  mv -v /usr/lib/libpcre.so.* /lib/ &&
LIBNAME=$(cat libpcre.la | grep dlname | cut -f2 -d"'" | cut -f1 -d" ")
+
  ln -svf ../../lib/libpcre.so.0 /usr/lib/libpcre.so
  ln -sf ../../lib/$LIBNAME /usr/lib/libpcre.so  
 
  
 
=== Command Explanations ===
 
=== Command Explanations ===
Line 38: Line 41:
 
Configure and compile the package:
 
Configure and compile the package:
  
  CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" ./configure --prefix=/usr --enable-utf8 &&
+
  CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
 +
./configure --prefix=/usr --enable-utf8 --enable-unicode-properties \
 +
    --enable-pcregrep-libz  --enable-pcregrep-libbz2 \
 +
    --enable-pcretest-libreadline --enable-pcre32 --enable-pcre16 &&
 
  make
 
  make
  
Line 49: Line 55:
  
 
  mv -v /usr/lib/libpcre.so.* /lib/ &&
 
  mv -v /usr/lib/libpcre.so.* /lib/ &&
LIBNAME=$(cat libpcre.la | grep dlname | cut -f2 -d"'" | cut -f1 -d" ") &&
+
  ln -svf ../../lib/libpcre.so.0 /usr/lib/libpcre.so
  ln -sf ../../lib/$LIBNAME /usr/lib/libpcre.so  
 
  
 
=== N32 ===
 
=== N32 ===
Line 56: Line 61:
 
Configure and compile the package:
 
Configure and compile the package:
  
  CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" ./configure --prefix=/usr --enable-utf8 --libdir=/usr/lib32 &&
+
  CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" \
 +
./configure --prefix=/usr --libdir=/usr/lib32 \
 +
    --enable-utf8 --enable-unicode-properties \
 +
    --enable-pcregrep-libz  --enable-pcregrep-libbz2 \
 +
    --enable-pcretest-libreadline --enable-pcre32 --enable-pcre16 &&
 
  make
 
  make
  
Line 67: Line 76:
  
 
  mv -v /usr/lib32/libpcre.so.* /lib32/ &&
 
  mv -v /usr/lib32/libpcre.so.* /lib32/ &&
LIBNAME=$(cat libpcre.la | grep dlname | cut -f2 -d"'" | cut -f1 -d" ") &&
+
  ln -svf ../../lib32/libpcre.so.0 /usr/lib32/libpcre.so
  ln -sf ../../lib32/$LIBNAME /usr/lib32/libpcre.so  
 
  
 
=== 64Bit ===
 
=== 64Bit ===
Line 74: Line 82:
 
Configure and compile the package:
 
Configure and compile the package:
  
  CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" ./configure --prefix=/usr --enable-utf8 --libdir=/usr/lib64 &&
+
  CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" ./configure \
 +
--prefix=/usr --libdir=/usr/lib64 \
 +
    --enable-utf8 --enable-unicode-properties \
 +
    --enable-pcregrep-libz  --enable-pcregrep-libbz2 \
 +
    --enable-pcretest-libreadline --enable-pcre32 --enable-pcre16 &&
 
  make
 
  make
  
Line 83: Line 95:
 
  ln -s multiarch_wrapper /usr/bin/pcre-config
 
  ln -s multiarch_wrapper /usr/bin/pcre-config
  
If you reinstall Grep after installing PCRE, Grep will get linked against PCRE and may cause problems if /usr is a separate mount point. To avoid this, either pass the option --disable-perl-regexp when executing ./configure for Grep or move libpcre to /lib as follows.
+
If you reinstall Grep after installing PCRE, Grep will get linked against PCRE and may cause problems if /usr is a separate mount point. To avoid this, either pass the option --disable-perl-regexp when executing ./configure for Grep or move libpcre to /lib64 as follows.
  
 
  mv -v /usr/lib64/libpcre.so.* /lib64/ &&
 
  mv -v /usr/lib64/libpcre.so.* /lib64/ &&
LIBNAME=$(cat libpcre.la | grep dlname | cut -f2 -d"'" | cut -f1 -d" ") &&
+
  ln -svf ../../lib64/libpcre.so.0 /usr/lib64/libpcre.so
  ln -sf ../../lib64/$LIBNAME /usr/lib64/libpcre.so  
 
  
 
= Contents =
 
= Contents =
Line 116: Line 127:
 
| is used during the compile process of programs linking to the PCRE libraries.  
 
| is used during the compile process of programs linking to the PCRE libraries.  
 
|}
 
|}
 +
 +
[[Category:General Libs]]

Latest revision as of 21:51, 22 March 2014

Download Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.bz2

Introduction to Pcre

PCRE is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.

Project Homepage: http://www.pcre.org

Dependencies

Non-Multilib

Configure and compile the package:

./configure --prefix=/usr \
    --enable-utf8 --enable-unicode-properties \
    --enable-pcregrep-libz  --enable-pcregrep-libbz2 \
    --enable-pcretest-libreadline --enable-pcre32 --enable-pcre16 &&
make


Install the package:

make install

If you reinstall Grep after installing PCRE, Grep will get linked against PCRE and may cause problems if /usr is a separate mount point. To avoid this, either pass the option --disable-perl-regexp when executing ./configure for Grep or move libpcre to /lib as follows.

mv -v /usr/lib/libpcre.so.* /lib/ &&
ln -svf ../../lib/libpcre.so.0 /usr/lib/libpcre.so

Command Explanations

--enable-utf8: This switch includes the code for handling UTF-8 character strings in the library.

Multilib

32Bit

Configure and compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
./configure --prefix=/usr --enable-utf8 --enable-unicode-properties \
    --enable-pcregrep-libz  --enable-pcregrep-libbz2 \
    --enable-pcretest-libreadline --enable-pcre32 --enable-pcre16 &&
make

Install the package:

make install &&
mv -v /usr/bin/pcre-config{,-32}

If you reinstall Grep after installing PCRE, Grep will get linked against PCRE and may cause problems if /usr is a separate mount point. To avoid this, either pass the option --disable-perl-regexp when executing ./configure for Grep or move libpcre to /lib as follows.

mv -v /usr/lib/libpcre.so.* /lib/ &&
ln -svf ../../lib/libpcre.so.0 /usr/lib/libpcre.so

N32

Configure and compile the package:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" \
./configure --prefix=/usr --libdir=/usr/lib32 \
    --enable-utf8 --enable-unicode-properties \
    --enable-pcregrep-libz  --enable-pcregrep-libbz2 \
    --enable-pcretest-libreadline --enable-pcre32 --enable-pcre16 &&
make

Install the package:

make install &&
mv -v /usr/bin/pcre-config{,-n32}

If you reinstall Grep after installing PCRE, Grep will get linked against PCRE and may cause problems if /usr is a separate mount point. To avoid this, either pass the option --disable-perl-regexp when executing ./configure for Grep or move libpcre to /lib as follows.

mv -v /usr/lib32/libpcre.so.* /lib32/ &&
ln -svf ../../lib32/libpcre.so.0 /usr/lib32/libpcre.so

64Bit

Configure and compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" ./configure \
--prefix=/usr --libdir=/usr/lib64 \
    --enable-utf8 --enable-unicode-properties \
    --enable-pcregrep-libz  --enable-pcregrep-libbz2 \
    --enable-pcretest-libreadline --enable-pcre32 --enable-pcre16 &&
make

Install the package:

make install &&
mv -v /usr/bin/pcre-config{,-64} &&
ln -s multiarch_wrapper /usr/bin/pcre-config

If you reinstall Grep after installing PCRE, Grep will get linked against PCRE and may cause problems if /usr is a separate mount point. To avoid this, either pass the option --disable-perl-regexp when executing ./configure for Grep or move libpcre to /lib64 as follows.

mv -v /usr/lib64/libpcre.so.* /lib64/ &&
ln -svf ../../lib64/libpcre.so.0 /usr/lib64/libpcre.so

Contents

Installed Programs: pcregrep, pcretest, and pcre-config
Installed Libraries: libpcre.{so,a}, libpcrecpp.{so,a} and libpcreposix.{so,a}
Installed Directories: /usr/share/doc/pcre

Short Descriptions

pcregrep is a grep that understands Perl compatible regular expressions.
pcretest can test a Perl compatible regular expression.
pcre-config is used during the compile process of programs linking to the PCRE libraries.