Hi everyone,
I'm trying to upgrade from PHP 4.3.3 to 4.3.7 on my server (RedHat Linux
9.0). I used the bundled GD coming with PHP 4.3.3 and I want to continue
using it with the new version as well. Here is the command line I'm using
(split into lines for clarity):
./configure
--with-apxs=/usr/local/apache/bin/apxs
--enable-bcmath
--enable-calendar
--with-gd
--with-jpeg-dir=/usr
--with-png-dir=/usr
--with-ttf
--with-freetype-dir=/usr
--enable-gd-native-ttf
--with-swf=/usr/local/flash
--with-curl
--enable-ftp
--with-xml
--with-dom
--with-dom-xslt
--with-dom-exslt
--enable-exif
--enable-magic-quotes
--with-openssl
--with-pear
--enable-sockets
--enable-track-vars
--enable-versioning
--with-zlib
--with-zip
--with-bz2=/home/farda/bzip2-1.0.2
--enable-ctype
--enable-mbstring=all
--enable-mbregex
--with-mime-magic
--enable-shmop
--enable-tokenizer
--with-iconv=/home/farda/iconv
--with-xmlrpc
--with-config-file-path=/usr/local/Zend/etc/php.ini
The configure script fails with the following message:
configure: error: Problem with libjpeg.(a|so). Please check config.log for
more information.
A "tail -20 config.log" shows:
configure:30033: checking for jpeg_read_header in -ljpeg
configure:30052: gcc -o conftest -g -O2 -Wl,-rpath,/usr/kerberos/lib
-L/usr/ke
rberos/lib -Wl,-rpath,/home/farda/bzip2-1.0.2/lib
-L/home/farda/bzip2-1.0.2/lib
conftest.c -ljpeg -lexslt -lxsltbreakpoint -lxml2 -lxslt -lz -lcurl -lbz2
-lz -
lresolv -lm -ldl -lnsl -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err
-lk5crypto
-lresolv -ldl -lz -lcurl -lz -lssl -lcrypto -ldl -lssl -lcrypto
-lgssapi_krb5 -
lkrb5 -lcom_err -lk5crypto -lresolv -ldl -lz -lz -lxml2 -lz -lm 1>&5
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../libxslt.so: undefined
referenc
e to `xmlXPathOrderDocElems'
collect2: ld returned 1 exit status
configure: failed program was:
#line 30041 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char jpeg_read_header();
int main() {
jpeg_read_header()
; return 0; }
If I remove --with-jpeg, then I get a similar error with PNG support as
well. I'm sure that I've got libjpeg and libpng installed correctly. If I
remove all extensions but GD, it works. Currently I've done a:
./configure
--with-apxs=/usr/local/apache/bin/apxs
--with-gd=shared
--with-jpeg-dir=/usr
--with-png-dir=/usr
--with-ttf
--with-freetype-dir=/usr
--enable-gd-native-ttf
And have grabbed gd.so from PHP_SRC_HOME/modules and load it via dl(); it
works that way. But I really need to get gd to be included in the PHP by
default.
A Google search led me to http://bugs.php.net/bug.php?id=28672. It's
suggesting a broken SSL library. But I still get this error without
--with-openssl, and I need both extensions anyway. I currently have OpenSSL
0.9.7a installed.
What can I do to fix the problem?
Thanks in advance,
-------------
Ehsan Akhgari