Is GD extension fundamentally broken as of 4.2.2 ?

Configuration: 
----------------
PHP version 4.2.2, 
OS: HPUX, 
compiler : gcc 2.9
library versions noted in configure line below..
----------------

GD extension fails to build as a self-contained extension, with compiler
errors during make. 
Here is a snapshot....


# cd ext/gd

# ../../pear/scripts/phpize

# export PHP_ZLIB_DIR="/path/zlib-1.1.4" 

# ./configure --with-gd=/path/gd-1.8.4 \
              --with-jpeg-dir=/path/jpeg-6b \
              --with-png-dir=/path/libpng-1.0.11 \
              --with-xpm-dir=/path/xpm-3.4k \
              --with-freetype-dir=/path/freetype-2.1.2 \
              --with-t1lib=/path/t1lib-1.3.1 \
              --with-php-config=/path/php-4.2.2/pear/scripts/php-config \
              --prefix=/path

# make


gd.c:97: conflicting types for `gdIOCtx'
  /path/gd-1.8.4/gd_io.h:18: previous declaration of `gdIOCtx'
gd.c: In function `zif_imageloadfont':
gd.c:486: `php_stream' undeclared (first use in this function)
gd.c:486: (Each undeclared identifier is reported only once
gd.c:486: for each function it appears in.)
gd.c:486: `stream' undeclared (first use in this function)
gd.c:494: `REPORT_ERRORS' undeclared (first use in this function)

... more errors....


Examining the first error i found that gdIOCtx has a simple declaration of
type FILE in ext/gd/gd.c. But a header that is part of the gd library v1.8.4
(gd_io.h) has a conflicting ( and more sophisticated .. "struct" )
declaration for the same.

But then looks like there are more errors besides that one.

I tried picking up the GD related files (except config.m4) that have changed
in recent 2/3 weeks from cvs.php.net but it didnt help.

adding..
   #define HAVE_PHP_STREAM 
in gd.c seemed to fix the compiler error on undeclared first use of
"php_stream"

Definitions for macros ...
    REPORT_ERRORS , 
    PHP_STREAM_IS_STDIO , 
    PHP_STREAM_CAST_TRY_HARD 
seems to be missing.


-- Roshan 

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to