View Full Version : PHP bug
roman
02-02-2005, 09:40 AM
Hello,
I have this bug on my server:
Warning: preg_match: internal pcre_fullinfo() error -3 in /usr/share/pear/DB.php on line 471
I found that solution:
http://bugs.php.net/bug.php?id=29914
I'm not sure if i should recompile because of interworx... and how to recompile ? In which directory should i go ? i found only these ones:
[root@h10-10 /]# find -name php
./home/interworx/bin/php
./home/interworx/lib/php
./usr/bin/php
./var/lib/php
thanks for your help :)
IWorx-Paul
02-02-2005, 09:49 AM
Hi Roman,
Could you verify what version of php you're running, by giving the output of the following two commands:
php -v
and
rpm -qa | grep php
Paul
roman
02-02-2005, 09:58 AM
Hi Paul,
here is the output:
[root@h10-10 root]# php -v
PHP 4.3.10 (cgi) (built: Dec 21 2004 10:27:48)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
[root@h10-10 root]# rpm -qa | grep php
php-mysql-4.3.10-2.4
php-mbstring-4.3.10-2.4
php-4.3.10-2.4
php-pear-4.3.10-2.4
php-iworx-4.3.9-2.iworx
php-imap-4.3.10-2.4
IWorx-Paul
02-02-2005, 10:28 AM
It looks like you're running the Fedora Core 2 php 4.3.10 update. I checked the source rpm for this package and it is indeed built with the following configure param:
--with-pcre-regex=%{_prefix} \
That bug suggests that the fix for this problem is to compile with the option
--with-pcre-regex \
If I were you that's what I would try, recompiling with that option changed and see if that fixes the problem.
roman
02-02-2005, 10:40 AM
Ok, and can you give me the method on how to recompile ?
in which directory should i be ?
because i try the ./configure command in these directories:
/
/home/interworx/bin/php
/home/interworx/lib/php
/usr/bin/php
/var/lib/php
but it doesn't work (./configure not known)
IWorx-Paul
02-02-2005, 11:23 AM
It's a bit complicated, but here's how I would do it.
rpm -ivh http://download.fedora.redhat.com/pub/fedora/linux/core/updates/2/SRPMS/php-4.3.10-2.4.src.rpm
edit the file /usr/src/redhat/SPECS/php.spec
change the line
--with-pcre-regex=%{_prefix} \
to
--with-pcre-regex \
Then then the command:
rpmbuild -bb /usr/src/redhat/SPECS/php.spec
Finally, install the new rpms:
rpm -Uvh --force /usr/src/redhat/RPMS/i386/php*
and be sure to restart the webserver
service httpd restart
roman
02-02-2005, 12:05 PM
Then then the command:
rpmbuild -bb /usr/src/redhat/SPECS/php.spec
The first two steps ok, but this step i get some errors :(
[root@h10-10 /]# rpmbuild -bb /usr/src/redhat/SPECS/php.spec
error: Failed build dependencies:
bzip2-devel is needed by php-4.3.10-2.4
db4-devel is needed by php-4.3.10-2.4
expat-devel is needed by php-4.3.10-2.4
freetype-devel is needed by php-4.3.10-2.4
gd-devel >= 1.8.4 is needed by php-4.3.10-2.4
gmp-devel is needed by php-4.3.10-2.4
aspell-devel >= 0.50.0 is needed by php-4.3.10-2.4
libjpeg-devel is needed by php-4.3.10-2.4
libpng-devel is needed by php-4.3.10-2.4
pam-devel is needed by php-4.3.10-2.4
libstdc++-devel is needed by php-4.3.10-2.4
ncurses-devel is needed by php-4.3.10-2.4
pcre-devel is needed by php-4.3.10-2.4
libc-client-devel is needed by php-4.3.10-2.4
cyrus-sasl-devel is needed by php-4.3.10-2.4
openldap-devel is needed by php-4.3.10-2.4
postgresql-devel is needed by php-4.3.10-2.4
unixODBC-devel is needed by php-4.3.10-2.4
net-snmp-devel is needed by php-4.3.10-2.4
elfutils-devel is needed by php-4.3.10-2.4
libxslt-devel >= 1.0.18-1 is needed by php-4.3.10-2.4
libxml2-devel >= 2.4.14-1 is needed by php-4.3.10-2.4
That's always the same problem with rpmbuild :(
IWorx-Paul
02-02-2005, 12:16 PM
Try this:
yum install bzip2-devel \
db4-devel \
expat-devel \
freetype-devel \
gd-devel \
gmp-devel \
aspell-devel \
libjpeg-devel \
libpng-devel \
pam-devel \
libstdc++-devel \
ncurses-devel \
pcre-devel \
libc-client-devel \
cyrus-sasl-devel \
openldap-devel \
postgresql-devel \
unixODBC-devel \
net-snmp-devel \
elfutils-devel \
libxslt-devel \
libxml2-devel
roman
02-02-2005, 12:24 PM
that's what i was doing :p
sorry i'm new in the world of linux :)
roman
02-02-2005, 12:50 PM
ok, when building the rpms i had the following errors:
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.67591 (%build)
And then when installing them, i had file not found :(
[root@h10-10 /]# rpm -Uvh --force /usr/src/redhat/RPMS/i386/php*
error: File not found by glob: /usr/src/redhat/RPMS/i386/php*
[root@h10-10 /]# ls /usr/src/redhat/RPMS/i386/
analog-5.32-100.iworx.i386.rpm rrdtool-devel-1.0.48-100.iworx.i386.rpm
rrdtool-1.0.48-100.iworx.i386.rpm yum-headers-1.0-100.iworx.i386.rpm
IWorx-Paul
02-02-2005, 01:12 PM
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.67591 (%build)
We'll have to see the lines above that error to see what part actually went wrong.
Paul
roman
02-02-2005, 01:28 PM
oh yes i didn't notice this line:
configure: error: no acceptable C compiler found in $PATH
After searching on google i'm installing gcc and g++, let's see if it works...
and here is the whole output:
[root@h10-10 /]# rpmbuild -bb /usr/src/redhat/SPECS/php.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.94589
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd /usr/src/redhat/BUILD
+ rm -rf php-4.3.10
+ /usr/bin/gzip -dc /usr/src/redhat/SOURCES/php-4.3.10.tar.gz
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd php-4.3.10
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch #2 (php-4.3.4-config.patch):'
Patch #2 (php-4.3.4-config.patch):
+ patch -p1 -b --suffix .config -s
+ echo 'Patch #3 (php-4.2.2-lib64.patch):'
Patch #3 (php-4.2.2-lib64.patch):
+ patch -p1 -b --suffix .lib64 -s
+ echo 'Patch #4 (php-4.2.2-cxx.patch):'
Patch #4 (php-4.2.2-cxx.patch):
+ patch -p1 -b --suffix .cxx -s
+ echo 'Patch #5 (php-4.3.3-install.patch):'
Patch #5 (php-4.3.3-install.patch):
+ patch -p1 -b --suffix .install -s
+ echo 'Patch #6 (php-4.3.1-tests.patch):'
Patch #6 (php-4.3.1-tests.patch):
+ patch -p1 -b --suffix .tests -s
+ echo 'Patch #7 (php-4.3.2-libtool15.patch):'
Patch #7 (php-4.3.2-libtool15.patch):
+ patch -p1 -b --suffix .libtool15 -s
+ echo 'Patch #8 (php-4.3.3-miscfix.patch):'
Patch #8 (php-4.3.3-miscfix.patch):
+ patch -p1 -b --suffix .miscfix -s
+ echo 'Patch #9 (php-4.3.6-umask.patch):'
Patch #9 (php-4.3.6-umask.patch):
+ patch -p1 -b --suffix .umask -s
+ echo 'Patch #11 (php-4.3.8-fdsetsize.patch):'
Patch #11 (php-4.3.8-fdsetsize.patch):
+ patch -p1 -b --suffix .fdsetsize -s
+ echo 'Patch #21 (php-4.3.1-odbc.patch):'
Patch #21 (php-4.3.1-odbc.patch):
+ patch -p1 -b --suffix .odbc -s
+ echo 'Patch #22 (php-4.3.2-db4.patch):'
Patch #22 (php-4.3.2-db4.patch):
+ patch -p1 -b --suffix .db4 -s
+ echo 'Patch #24 (php-4.3.8-gdnspace.patch):'
Patch #24 (php-4.3.8-gdnspace.patch):
+ patch -p1 -b --suffix .gdnspace -s
+ echo 'Patch #30 (php-4.3.1-dlopen.patch):'
Patch #30 (php-4.3.1-dlopen.patch):
+ patch -p1 -b --suffix .dlopen -s
+ echo 'Patch #31 (php-4.3.4-easter.patch):'
Patch #31 (php-4.3.4-easter.patch):
+ patch -p1 -b --suffix .easter -s
+ cp Zend/LICENSE Zend/ZEND_LICENSE
+ cp TSRM/LICENSE TSRM_LICENSE
+ cp regex/COPYRIGHT regex_COPYRIGHT
+ cp ext/gd/libgd/README gd_README
+ mkdir build-cgi build-apache
+ perl -pi -e 's|/usr/lib|/usr/lib|' php.ini-recommended
+ rm -f ext/standard/tests/file/bug21131.phpt
+ rm -f ext/standard/tests/file/bug22414.phpt ext/session/tests/019.phpt ext/standard/tests/math/pow.phpt ext/standard/tests/math/round.phpt ext/standard/tests/math/abs.phpt ext/iconv/tests/bug16069.phpt
+ : Build for oci8=0 mssql=0 mhash=0
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.48382
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd php-4.3.10
+ CFLAGS=-O2 -g -march=i386 -mcpu=i686 -Wall -fno-strict-aliasing
+ export CFLAGS
+ EXTENSION_DIR=/usr/lib/php4
+ export EXTENSION_DIR
+ libtoolize --force --copy
Using `AC_PROG_RANLIB' is rendered obsolete by `AC_PROG_LIBTOOL'
You should add the contents of `/usr/share/aclocal/libtool.m4' to `aclocal.m4'.
+ touch acinclude.m4
+ ./buildconf --force
Forcing buildconf
using default Zend directory
buildconf: checking installation...
buildconf: autoconf version 2.59 (ok)
buildconf: Your version of autoconf likely contains buggy cache code.
Running cvsclean for you.
To avoid this, install autoconf-2.13 and automake-1.5.
buildconf: libtool version 1.5.6 (ok)
rebuilding aclocal.m4
rebuilding configure
autoconf/programs.m4:438: AC_DECL_YYTEXT is expanded from...
configure.in:147: the top level
rebuilding main/php_config.h.in
autoheader: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot'
autoheader: WARNING: and `config.h.top', to define templates for `config.h.in'
autoheader: WARNING: is deprecated and discouraged.
autoheader:
autoheader: WARNING: Using the third argument of `AC_DEFINE' and
autoheader: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without
autoheader: WARNING: `acconfig.h':
autoheader:
autoheader: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1,
autoheader: [Define if a function `main' is needed.])
autoheader:
autoheader: WARNING: More sophisticated templates can also be produced, see the
autoheader: WARNING: documentation.
autoconf/programs.m4:438: AC_DECL_YYTEXT is expanded from...
configure.in:147: the top level
+ pushd build-cgi
/usr/src/redhat/BUILD/php-4.3.10/build-cgi /usr/src/redhat/BUILD/php-4.3.10
+ build --enable-force-cgi-redirect
+ mkdir Zend
+ cp ../Zend/zend_language_parser.c ../Zend/zend_language_parser.h ../Zend/zend_language_scanner.c ../Zend/zend_language_scanner.h ../Zend/zend_ini_parser.c ../Zend/zend_ini_parser.h ../Zend/zend_ini_scanner.c ../Zend/zend_ini_scanner.h Zend
+ ln -sf ../configure
+ CFLAGS=-O2 -g -march=i386 -mcpu=i686 -Wall -fno-strict-aliasing
+ export CFLAGS
+ CXXFLAGS=-O2 -g -march=i386 -mcpu=i686
+ export CXXFLAGS
+ FFLAGS=-O2 -g -march=i386 -mcpu=i686
+ export FFLAGS
+ ./configure --host=i686-redhat-linux-gnu --build=i686-redhat-linux-gnu --target=i386-redhat-linux --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --cache-file=../config.cache --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-force-cgi-redirect --disable-debug --enable-pic --disable-rpath --enable-inline-optimization --with-bz2 --with-db4=/usr --with-curl --with-exec-dir=/usr/bin --with-freetype-dir=/usr --with-png-dir=/usr --with-gd --enable-gd-native-ttf --without-gdbm --with-gettext --with-ncurses --with-gmp --with-iconv --with-jpeg-dir=/usr --with-openssl --with-png --with-pspell --with-regex=system --with-xml --with-expat-dir=/usr --with-dom=shared,/usr --with-dom-xslt=/usr --with-dom-exslt=/usr --with-xmlrpc=shared --with-pcre-regex=/usr --with-zlib --with-layout=GNU --enable-bcmath --enable-exif --enable-ftp --enable-magic-quotes --enable-safe-mode --enable-sockets --enable-sysvsem --enable-sysvshm --enable-track-vars --enable-trans-sid --enable-yp --enable-wddx --with-pear=/usr/share/pear --with-imap=shared --with-imap-ssl --with-kerberos --with-ldap=shared --with-mysql=shared,/usr --with-pgsql=shared --with-snmp=shared,/usr --with-snmp=shared --enable-ucd-snmp-hack --with-unixODBC=shared,/usr --enable-memory-limit --enable-bcmath --enable-shmop --enable-calendar --enable-dbx --enable-dio --enable-mcal --enable-mbstring=shared --enable-mbstr-enc-trans --enable-mbregex --enable-force-cgi-redirect
configure: creating cache ../config.cache
checking build system type... i686-redhat-linux-gnu
checking host system type... i686-redhat-linux-gnu
checking for i686-redhat-linux-gnu-gcc... no
checking for gcc... no
checking for i686-redhat-linux-gnu-cc... no
checking for cc... no
checking for cc... no
checking for i686-redhat-linux-gnu-cl... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
error: Bad exit status from /var/tmp/rpm-tmp.48382 (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.48382 (%build)
IWorx-Paul
02-02-2005, 01:52 PM
Try a
yum install gcc
roman
02-02-2005, 01:59 PM
i did it
i compile php
i installed the rpms
i restarted sthe httpd
but my problem isn't fixed :(
i'll try to install php5 now i know a bit how to use rpmbuild
thank you for your help paul :)
roman
02-02-2005, 03:46 PM
lol i can't install the php5 !
anyway, i was looking at my phpinfo() and the argument --with-pcre-regex=/usr is still there !!!
how is it possible ? what went wrong ?
roman
02-02-2005, 05:05 PM
Ok it's now fully working, my problem is fixed, thanks again paul :)
bubbahall
02-01-2007, 09:11 PM
I've got the same issue with php 5.04 on FC4 but no /usr/src/redhat dir and no php.spec on the box. Suggestions?
IWorx-Socheat
02-01-2007, 09:36 PM
First, install rpm-build:
yum install rpm-build
Then create the /usr/src/redhat directory:
mkdir -p /usr/src/redhat
Finally follow the rest of the instructions in this thread.
Socheat
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.