Edit report at https://bugs.php.net/bug.php?id=55224&edit=1
ID: 55224
Comment by: oniuda at oni dot gr dot jp
Reported by: manuel at bouza dot ch
Summary: make fails if configured with --with-gd=DIR
Status: Open
Type: Bug
Package: GD related
Operating System: MAC OSX 10.6.8
PHP Version: 5.4SVN-2011-07-18 (SVN)
Block user comment: N
Private report: N
New Comment:
On FreeBSD 9.0-STABLE,I tried to make php-5.4.3 --with-dg=/usr/local.
I installed gd from /usr/ports/graphics/gd (gd-2.0.35).
---
In file included from /usr/local/src/php-5.4.3/ext/gd/gd.c:103:
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c: In function '_php_image_stream_putc':
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:51: error: 'struct gdIOCtx' has no
member named 'data'
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c: In function
'_php_image_stream_putbuf':
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:58: error: 'struct gdIOCtx' has no
member named 'data'
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c: In function
'_php_image_stream_ctxfree':
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:67: error: 'struct gdIOCtx' has no
member named 'data'
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:68: error: 'struct gdIOCtx' has no
member named 'data'
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:69: error: 'struct gdIOCtx' has no
member named 'data'
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c: In function '_php_image_output_ctx':
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:153: error: 'gdIOCtx' has no member
named 'data'
gmake: *** [ext/gd/gd.lo] Error 1
---
I made php-5.3.13 with same configure options.So I investigated the cause.
In php-5.4.3/ext/gd/libgd/gd_io.h
typedef struct gdIOCtx {
int (*getC)(struct gdIOCtx*);
int (*getBuf)(struct gdIOCtx*, void*, int);
void (*putC)(struct gdIOCtx*, int);
int (*putBuf)(struct gdIOCtx*, const void*, int);
int (*seek)(struct gdIOCtx*, const int);
long (*tell)(struct gdIOCtx*);
void (*gd_free)(struct gdIOCtx*);
void *data;
} gdIOCtx;
But in /usr/local/include/gd_io.h
typedef struct gdIOCtx
{
int (*getC) (struct gdIOCtx *);
int (*getBuf) (struct gdIOCtx *, void *, int);
void (*putC) (struct gdIOCtx *, int);
int (*putBuf) (struct gdIOCtx *, const void *, int);
/* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
int (*seek) (struct gdIOCtx *, const int);
long (*tell) (struct gdIOCtx *);
void (*gd_free) (struct gdIOCtx *);
}
gdIOCtx;
These isn't void *data;.In some gd versions (ex:gd-2.0.36RC,gd-2.0.34)
there ins't void *data;.
I think that php-5.4.X was required extended gd library.
Shuold we configure --with-gd not --with-gd=DIR?
Previous Comments:
------------------------------------------------------------------------
[2012-05-13 05:24:08] elifan2007 at ya dot ru
freebsd 9.0
The same with any php-5.4.x for now (--with-gd=/usr/local).
gd-2.0.35
Wasn't corrected in php-5.4.3, so using 5.3.13 instead, thanx
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c: In function '_php_image_stream_putc':
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:51: error: 'struct gdIOCtx' has no
member named 'data'
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c: In function
'_php_image_stream_putbuf':
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:58: error: 'struct gdIOCtx' has no
member named 'data'
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c: In function
'_php_image_stream_ctxfree':
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:67: error: 'struct gdIOCtx' has no
member named 'data'
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:68: error: 'struct gdIOCtx' has no
member named 'data'
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:69: error: 'struct gdIOCtx' has no
member named 'data'
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c: In function '_php_image_output_ctx':
/usr/local/src/php-5.4.3/ext/gd/gd_ctx.c:153: error: 'gdIOCtx' has no member
named 'data'
*** Error code 1
Stop in /home/src/php-5.4.3.
------------------------------------------------------------------------
[2012-04-11 22:42:10] nicek at hotmail dot com
I'm having the same issue with Solaris 10 U9 09/10. I haven't found a
work-around either.
php-5.4.0
gd-2.0.35
Nic
./configure --prefix=/usr/local-build --with-apxs2=/usr/local-build/bin/apxs
--enable-libgcc --with-libxml-dir=/usr/local-build
--with-openssl=/usr/local-build --with-zlib=/usr/local-build
--with-bz2=/usr/lib --enable-calendar --with-curl=/usr/local-build
--enable-exif -enable-ftp --with-mysql=/usr/local-build
--with-mysqli=/usr/local-build/bin/mysql_config
--with-pdo-mysql=/usr/local-build --enable-shmop --enable-sockets
--enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-zip
--with-gd=/usr/local-build --with-libxml-dir=/usr/local-build
--with-jpeg-dir=/usr/local-build --with-png-dir=/usr/local-build
--with-zlib-dir=/usr/local-build --with-xpm-dir=/usr/local-build
--with-freetype-dir=/usr/local-build
/bin/bash /home/builder/packages/php-5.4.0/libtool --silent --preserve-dup-deps
--mode=compile gcc -I/usr/local-build/include -Iext/gd/
-I/home/builder/packages/php-5.4.0/ext/gd/ -DPHP_ATOM_INC
-I/home/builder/packages/php-5.4.0/include
-I/home/builder/packages/php-5.4.0/main -I/home/builder/packages/php-5.4.0
-I/home/builder/packages/php-5.4.0/ext/date/lib
-I/home/builder/packages/php-5.4.0/ext/ereg/regex
-I/usr/local-build/include/libxml2 -I/usr/local-build/include
-I/usr/local-build/include/freetype2
-I/home/builder/packages/php-5.4.0/ext/sqlite3/libsqlite
-I/home/builder/packages/php-5.4.0/TSRM -I/home/builder/packages/php-5.4.0/Zend
-D_POSIX_PTHREAD_SEMANTICS -I/usr/include -g -O2 -c
/home/builder/packages/php-5.4.0/ext/gd/gd.c -o ext/gd/gd.lo
In file included from /home/builder/packages/php-5.4.0/ext/gd/gd.c:103:
/home/builder/packages/php-5.4.0/ext/gd/gd_ctx.c: In function
`_php_image_stream_putc':
/home/builder/packages/php-5.4.0/ext/gd/gd_ctx.c:51: error: structure has no
member named `data'
/home/builder/packages/php-5.4.0/ext/gd/gd_ctx.c: In function
`_php_image_stream_putbuf':
/home/builder/packages/php-5.4.0/ext/gd/gd_ctx.c:58: error: structure has no
member named `data'
/home/builder/packages/php-5.4.0/ext/gd/gd_ctx.c: In function
`_php_image_stream_ctxfree':
/home/builder/packages/php-5.4.0/ext/gd/gd_ctx.c:67: error: structure has no
member named `data'
/home/builder/packages/php-5.4.0/ext/gd/gd_ctx.c:68: error: structure has no
member named `data'
/home/builder/packages/php-5.4.0/ext/gd/gd_ctx.c:69: error: structure has no
member named `data'
/home/builder/packages/php-5.4.0/ext/gd/gd_ctx.c: In function
`_php_image_output_ctx':
/home/builder/packages/php-5.4.0/ext/gd/gd_ctx.c:153: error: structure has no
member named `data'
*** Error code 1
make: Fatal error: Command failed for target `ext/gd/gd.lo'
------------------------------------------------------------------------
[2012-04-11 13:32:01] hengjie at gmail dot com
This also happens on CentOS5 when I'm using --with-gd=/usr flag. /usr should be
where the native GD library is installed.
This information is to expand the scope of this problem.
------------------------------------------------------------------------
[2012-03-02 10:00:08] cornelius dot howl at gmail dot com
I think the problem is caused from:
gd.c: typedef FILE gdIOCtx;
I commented this line, and compiler works. :-)
------------------------------------------------------------------------
[2012-03-02 09:54:09] cornelius dot howl at gmail dot com
Same here. I got this in clang compiler: (PHP5.4 on Mac OS 10.8)
GD version:
#define GD_VERSION_STRING "2.0.35"
ext/gd//gd_ctx.c:51:43: error: no member named 'data' in 'struct gdIOCtx'
php_stream * stream = (php_stream *)ctx->data;
~~~ ^
ext/gd//gd_ctx.c:58:43: error: no member named 'data' in 'struct gdIOCtx'
php_stream * stream = (php_stream *)ctx->data;
~~~ ^
ext/gd//gd_ctx.c:67:10: error: no member named 'data' in 'struct gdIOCtx'
if(ctx->data) {
~~~ ^
ext/gd//gd_ctx.c:68:40: error: no member named 'data' in 'struct gdIOCtx'
php_stream_close((php_stream *) ctx->data);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/Users/c9s/.phpbrew/build/php-5.4.0/main/php_streams.h:287:52: note: expanded
from:
#define php_stream_close(stream) _php_stream_free((stream),
PHP_STREAM_FREE_CLOSE TSRMLS_CC)
^
In file included from /Users/c9s/.phpbrew/build/php-5.4.0/ext/gd/gd.c:103:
ext/gd//gd_ctx.c:69:8: error: no member named 'data' in 'struct gdIOCtx'
ctx->data = NULL;
~~~ ^
ext/gd//gd_ctx.c:153:8: error: no member named 'data' in 'struct gdIOCtx'
ctx->data = (void *)stream;
~~~ ^
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=55224
--
Edit this bug report at https://bugs.php.net/bug.php?id=55224&edit=1