ID:               50125
 User updated by:  vhaban at atlas dot cz
 Reported By:      vhaban at atlas dot cz
 Status:           Bogus
 Bug Type:         GD related
 Operating System: Fedora 11 x86 64bit
 PHP Version:      5.3.1RC3
 New Comment:

I tried to compile PHP with external GD. 

To ease the use of external GD I did first:

cp /usr/share/gd/include/* /usr/share/gd/lib

Then I did:

./configure --with-apxs2=/etc/httpd/bin/apxs --with-libdir=lib64
--with-gd=/usr/share/gd/lib --with-jpeg-dir=/usr/share/jpeg-7
--with-png-dir --with-xsl

But I got this error when running make:

Generating phar.php
/root/install/www/php/php-5.3.1RC3/sapi/cli/php: error while loading
shared libraries: libjpeg.so.7: cannot open shared object file: No such
file or directory
make: *** [ext/phar/phar.php] Error 127

So I tried this:
ln -s /usr/share/jpeg-7/lib/libjpeg.so.7.0.0 /usr/lib64/libjpeg.so.7

Then the make was successfull with one ignored error:

Generating phar.phar
chmod: cannot access `ext/phar/phar.phar': No such file or directory
make: [ext/phar/phar.phar] Error 1 (ignored)

Build complete.
Don't forget to run 'make test'.

I did make install, finished the libraries with libtool, still with the
ignored error about missing phar.phar.

AND NOW IT IS WORKING!!!

SOLVED, BUT ONLY WITH THE EXTERNAL GD!


Previous Comments:
------------------------------------------------------------------------

[2009-11-17 19:30:21] vhaban at atlas dot cz

I tried to recompile PHP now and got this error when running configure
with the same parameters as above:

configure: error: GD build test failed. Please check the config.log for
details.

And the config.log contains this at the end:

configure:35769: checking for jpeg_read_header in -ljpeg
configure:36070: checking for png_write_image in -lpng
configure:43319: gcc -o conftest -g -O2 -fvisibility=hidden  
conftest.c    -lpng -lz -ljpeg -lm -ldl -lnsl  -lxml2 -lz -lm -lxml2 -lz
-lm 1>&5
configure: failed program was:
#line 43308 "configure"
#include "confdefs.h"

    char foobar () {}
    char foobar();
    int main() {
      foobar();
      return 0;
    }

------------------------------------------------------------------------

[2009-11-17 19:15:22] vhaban at atlas dot cz

I have found the cause of libjpeg version mixture, but the problem with
unability to open jpeg images remains.

The symbolic link /usr/lib64/libjpeg.so was set to 6.2 version file, I
had to do:

rm /usr/lib64/libjpeg.so
ln -s /usr/share/jpeg-7/lib/libjpeg.so.7.0.0 /usr/lib64/libjpeg.so

Now there is no error message in /etc/httpd/logs/error_log, but I still
cannot open the jpeg files with the same result as described above.

------------------------------------------------------------------------

[2009-11-17 18:39:48] vhaban at atlas dot cz

So, I have found the possible cause of all this. In
httpd/logs/error_log I have got this message:

Wrong JPEG library version: library is 62, caller expects 70

The library seems to be badly configured somewhere. I will report more
when I find the cause.

------------------------------------------------------------------------

[2009-11-16 20:37:06] vhaban at atlas dot cz

After PHP compilation I also run:
libtool --finish /root/install/www/php/php-5.3.1RC3/libs

I also do the restart of Apache:
/etc/httpd/bin/apachectl restart

The above mentioned configuration might be wrong in
--with-jpeg-dir=/usr/share/jpeg-7/lib, but I have tried it also without
the lib at the end and the result seems to be the same.

Thanks.

------------------------------------------------------------------------

[2009-11-16 20:19:40] vhaban at atlas dot cz

I am running also PHP 5.3.0 on an old Fedora Core 6 x86_64 machine with
an AMD64 processor and it is working well even with the return type bug.
But the machine with Fedora 11 is a Core 2 Duo notebook.

Firstly, I compile jpeg-7:
./configure --prefix=/usr/share/jpeg-7
make
make install

Secondly, I compile PHP with internal GD:
./configure --with-apxs2=/etc/httpd/bin/apxs --with-libdir=lib64
--with-gd --with-jpeg-dir=/usr/share/jpeg-7/lib --with-png-dir
--with-xsl
make
make install

phpinfo() tells about the gd this:
gd
GD Support      enabled
GD Version      bundled (2.0.34 compatible)
GIF Read Support        enabled
GIF Create Support      enabled
JPEG Support    enabled
libJPEG Version         unknown
PNG Support     enabled
libPNG Version  1.2.37
WBMP Support    enabled
XBM Support     enabled

Directive       Local Value     Master Value
gd.jpeg_ignore_warning  1       0

The code source is:
<?php
ini_set("memory_limit","384M");
ini_set("gd.jpeg_ignore_warning",1);
$img = imagecreatefromjpeg("img/gdtest.jpg");
phpinfo();
?>

The image is an empty jpeg file created with GIMP.
GIMP Image properties tells:
640 × 400 pixels, RGB color, JPEG image, etc.

What I get when I run the script is:
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg:
JPEG library reports unrecoverable error: in /.../phpinfo.php on line 4

Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]:
'img/gdtest.jpg' is not a valid JPEG file in /.../phpinfo.php on line 4

Where ... is the full path to the script.

I can also send the jpeg image, but I think that the problem is
somewhere else.
Thank you for any further help.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/50125

-- 
Edit this bug report at http://bugs.php.net/?id=50125&edit=1

Reply via email to