ID:               21049
 Comment by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Bogus
 Bug Type:         Compile Failure
 Operating System: Cobalt Linux
 PHP Version:      4.2.3
 New Comment:

I guess I'm not sure why this is not a bug? It doesn't compile without
making modifications to the distributed code. In our world we call that
a bug. 

Anyway, I have read the docs. I am using 4.2.3 (not 4.3.0 because
that's in pre-release and these are productions servers) which AFAIK
does NOT include a 'bundled gd library.' Updating libgd on these
servers to 1.8.4 would be a good idea, but that would require
rebuilding a lot of other software on the server. Not something I can
do right now.

In any case, there is nothing in the docs that I could find that said I
should use gd 1.8.4. At
http://www.php.net/manual/en/install.configure.php#install.configure.options.graphics
it says:

--with-gd[=DIR]
Include GD support (DIR is GD's install dir). Set DIR to shared to
build as a dl, or shared,DIR to build as a dl and still specify DIR. 

(Which, BTW, took three readings for me to be able to understand.) This
does not even SUGGEST that PHP will build it's own gd. It says that you
should specify the install directory.

Finally, if these simple fixes allow PHP to work with older versions of
libgd, why not add them to the code base to support it?


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

[2002-12-16 11:21:17] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

If you must use GD 1.X use 1.8.4, PHP 4.3.0 already comes with  bundled
GD library that has been tested & works properly.

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

[2002-12-16 11:13:47] [EMAIL PROTECTED]

In PHP 4.2.3 (and some previous versions) the ext/gd/* files do not
match older libgd installations (such as the 1.2 version that ships on
RaQ4 servers. In particular, it includes a 'static' declaration of
gdImageColorResolve when it should be 'extern' (see
http://i4net.tv/marticle/get.php?action=getarticle&articleid=20 for
another report of this bug) and it re-defined (incompatibly) the
gdIOCtx object.

To make the compile work I had to modify both php_gd.h and gd.c:

*** ext/gd/php_gd.h.4.2.3       Mon Dec 16 18:02:43 2002
--- ext/gd/php_gd.h     Mon Dec 16 18:03:41 2002
***************
*** 66,72 ****
  PHP_MSHUTDOWN_FUNCTION(gd);

  #ifndef HAVE_GDIMAGECOLORRESOLVE
! static int gdImageColorResolve(gdImagePtr, int, int, int);
  #endif
  PHP_FUNCTION(imagearc);
  PHP_FUNCTION(imagechar);
--- 66,72 ----
  PHP_MSHUTDOWN_FUNCTION(gd);

  #ifndef HAVE_GDIMAGECOLORRESOLVE
! extern int gdImageColorResolve(gdImagePtr, int, int, int);
  #endif
  PHP_FUNCTION(imagearc);
  PHP_FUNCTION(imagechar);
*** ext/gd/php_gd.h.4.2.3       Mon Dec 16 18:02:43 2002
--- ext/gd/php_gd.h     Mon Dec 16 18:03:41 2002
***************
*** 66,72 ****
  PHP_MSHUTDOWN_FUNCTION(gd);

  #ifndef HAVE_GDIMAGECOLORRESOLVE
! static int gdImageColorResolve(gdImagePtr, int, int, int);
  #endif
  PHP_FUNCTION(imagearc);
  PHP_FUNCTION(imagechar);
--- 66,72 ----
  PHP_MSHUTDOWN_FUNCTION(gd);

  #ifndef HAVE_GDIMAGECOLORRESOLVE
! extern int gdImageColorResolve(gdImagePtr, int, int, int);
  #endif
  PHP_FUNCTION(imagearc);
  PHP_FUNCTION(imagechar);
 

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


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

Reply via email to