|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #10331 configure: test gd functions lacks inclusion of -lpng, -lz
Submitted: 2001-04-15 02:07 UTC Modified: 2001-05-10 05:48 UTC
From: elkner at linofee dot org Assigned:
Status: Closed Package: GD related
PHP Version: 4.0.4pl1 OS: Linux 2.4.3 i686
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
From: elkner at linofee dot org
New email:
PHP Version: OS:


 [2001-04-15 02:07 UTC] elkner at linofee dot org
I'm using shared which supports jpeg, xpm, png and libz. Unfortunately php configure does NOT include
libpng and libz in its test, so it gets wrong results.

configure:15759: checking whether to include GD support
configure:16388: checking for gdImageString16 in -lgd
configure:16407: gcc -o conftest -g -O2  -DLINUX=2 -DMOD_SSL=206105 -DEAPI -DUSE
_EXPAT -DSHARED_CORE  -Wl,-rpath,/opt/ssl/lib -L/opt/ssl/lib -Wl,-rpath,/usr/X11
R6/lib -L/usr/X11R6/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib -L/usr/local/
lib conftest.c -lgd  -lgd -lX11 -lXpm -ljpeg -lcrypto -lssl -lresolv -lm -ldl -l
crypt -lnsl  -lresolv -L/usr/lib -ljpeg -L/usr/X11R6/lib -lXpm -L/usr/X11R6/lib 
-lX11 1>&5
/usr/local/lib/ undefined reference to `uncompress'
/usr/local/lib/ undefined reference to `png_get_rowbytes'
/usr/local/lib/ undefined reference to `png_set_strip_16'
/usr/local/lib/ undefined reference to `png_create_read_struct'
collect2: ld returned 1 exit status
configure: failed program was:


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2001-04-15 08:52 UTC]
Support for GD was just added to the latest CVS.
Try a snapshot from or checkout the latest CVS and configure with:

"--with-jpeg-dir" \ 
"--with-png-dir" \ 
"--with-freetype-dir" \ 

Beware - this will implicitly --enable-gd-native-ttf.

Please let me know how you get on.

 [2001-04-15 08:54 UTC]
Sorry - you also need --with-xpm-dir, and I meant to say GD 2.

 [2001-04-15 12:20 UTC] elkner at linofee dot org
Nope, --with-png-dir does not resolve the problem (that was
my first try). I can't use --with-freetype-dir, since freetype support is not part of the used gd lib.

Here the params I used:
./configure --prefix=/develop/sl7/proto/opt/php4 --with-apxs --enable-discard-path --with-config-file-path=/etc --enable-safe-mode --with-exec-dir=/opt/php/bin --with-openssl=/opt/ssl --enable-calendar --enable-ftp --with-gd=/usr/local --with-ldap --with-mysql --with-oci8=/opt/oracle --enable-sockets --with-regex=system --enable-sysvsem --enable-sysvshm --with-zlib=/usr/local --with-xpm-dir=/usr/X11R6 --with-jpeg-dir=/usr --enable-track-vars --with-png-dir=/usr

BTW: What for is the --with-sockets stuff (just for incl. of -lsockets ?)

 [2001-04-15 14:21 UTC] elkner at linofee dot org
I made a quick and dirty patch to configure, so that it

--- configure   Thu Jan 11 19:39:29 2001
+++ ../../php-4.0.4pl1/configure        Sun Apr 15 19:40:28 2001
@@ -16390,7 +16390,7 @@
   echo $ac_n "(cached) $ac_c" 1>&6
-LIBS="-lgd  $LIBS"
+LIBS="-lgd  -lpng -lz $LIBS"
 cat > conftest.$ac_ext <<EOF
 #line 16396 "configure"
 #include "confdefs.h"
@@ -16433,7 +16433,7 @@
   echo $ac_n "(cached) $ac_c" 1>&6
-LIBS="-lgd  $LIBS"
+LIBS="-lgd -lpng -lz $LIBS"
 cat > conftest.$ac_ext <<EOF
 #line 16439 "configure"
 #include "confdefs.h"
@@ -16476,7 +16476,7 @@
   echo $ac_n "(cached) $ac_c" 1>&6
-LIBS="-lgd  $LIBS"
+LIBS="-lgd -lpng -lz $LIBS"
 cat > conftest.$ac_ext <<EOF
 #line 16482 "configure"
 #include "confdefs.h"
@@ -16519,7 +16519,7 @@
   echo $ac_n "(cached) $ac_c" 1>&6
-LIBS="-lz  $LIBS"
+LIBS="-lz -lpng $LIBS"
 cat > conftest.$ac_ext <<EOF
 #line 16525 "configure"
 #include "confdefs.h"

 [2001-04-16 05:30 UTC]
Could you reverse your patch, and then:
rm config.cache
 --with-apxs --enable-discard-path
 --with-config-file-path=/etc --enable-safe-mode
 --with-openssl=/opt/ssl --enable-calendar
 --enable-ftp --with-ldap --with-mysql
 --with-oci8=/opt/oracle --enable-sockets
 --with-regex=system --enable-sysvsem
 --enable-sysvshm --with-zlib=/usr/local

Let me know if it works; if it does not, I would like to see your config.log to find out what is going on.

BTW: --with-sockets enables the sockets extension - you probably don't need it.

 [2001-04-16 21:12 UTC]
User Reported:
Works for some parts, but not all:
checking whether to include GD support... yes (static)
checking for gdImageString16 in -lgd... no
checking for gdImagePaletteCopy in -lgd... no
checking for gdImageColorClosestHWB in -lgd... no
checking for compress in -lz... no
checking for png_info_init in -lpng... yes
checking for gdImageColorResolve in -lgd... yes
checking for gdImageCreateFromPng in -lgd... yes
checking for gdImageCreateFromGif in -lgd... no
checking for gdImageWBMP in -lgd... yes
checking for gdImageCreateFromJpeg in -lgd... yes
checking for gdImageCreateFromXpm in -lgd... yes

To whom should I send the config.log? It is uncompressed about 120K,
compress about 11K - so probably not suitable for a mailing list?


BTW: Any hints how to trace that problem:

# /etc/init.d/apachectl-1.3.19 start
Syntax error on line 233 of /opt/www/conf/httpd.conf:
API module structure `php4_module' in file /opt/www/libexec/ is garbled - perhaps this is not an Apache module DSO?
/etc/init.d/apachectl start: httpd could not be started

Please email me the config.log to

The garbled module problem is technically a different bug; I would suggest ensuring that gd links in correctly (or building without) and making sure that you do "./cvsclean; ./buildconf" before you configure.
 [2001-05-10 05:48 UTC]
Try latest CVS. If that doesn't work for you, reopen.


PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Wed Aug 04 14:01:24 2021 UTC