Bug #60108 [Asn]: GD cannot be compiled with system libgd

From: Date: Thu, 22 Nov 2012 06:07:23 +0000
Subject: Bug #60108 [Asn]: GD cannot be compiled with system libgd
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-174843@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=60108&edit=1

 ID:                 60108
 Updated by:         laruence@php.net
 Reported by:        ondrej@php.net
 Summary:            GD cannot be compiled with system libgd
 Status:             Assigned
 Type:               Bug
 Package:            GD related
 Operating System:   Linux
 PHP Version:        5.4.0beta2
 Assigned To:        pajoye
 Block user comment: N
 Private report:     N

 New Comment:

ondrej, seems you have got a fix? could you make a patch for that?

thanks


Previous Comments:
------------------------------------------------------------------------
[2012-11-21 22:48:02] public at petergeil dot name

Confirmed ... problem still occurs in latest 5.4.8 release when compiled on Ubuntu 10.04 amd64
against libgd2-noxpm 2.0.36~rc1. However, adding a data member to gdIOCtx struct helps. (Thanks
Brad)

------------------------------------------------------------------------
[2012-04-17 19:48:53] bero at bero dot eu

Problem still occurs in php 5.4.1-RC2.

Given apparently gd is maintained by php people these days, maybe the best fix is to make a new gd
release containing all needed bits?

------------------------------------------------------------------------
[2011-11-16 08:15:06] brad at njoe dot com

Confirmed the same build errors against the latest snapshot (php5.4-
2011111160530) with a system-wide libgd installed (version 2.0.36 versus the 
bundled 2.0.35).

I also noted that the standard libgd version 2.0.35 doesn't include the 'void 
*data' member in the gdIOCtx struct. Modifying my /usr/include/gd_io.h to 
include this struct member seems to have also fixed(?) the build error, but that 
made me wonder...

... Why is the "bundled" libgd more of a "bundled+customized-for-PHP" library? 
It would seem that the 'void *data' member was introduced by the PHP dev team, 
unless I'm mistaken. Is this member's data important, and, if so, why is the 
"bundled" library modified to contain it (meaning that you really don't have an 
option between using the "bundled" library or your own system-wide version).

------------------------------------------------------------------------
[2011-10-21 12:13:35] ondrej@php.net

Description:
------------
When compiled with system-wide (not embedded) libgd library the compilation fails with:

In file included from /tmp/buildd/php5-5.4.0~beta2/ext/gd/gd.c:103:0:
/tmp/buildd/php5-5.4.0~beta2/ext/gd/gd_ctx.c: In function '_php_image_stream_putc':
/tmp/buildd/php5-5.4.0~beta2/ext/gd/gd_ctx.c:51:41: error: 'struct gdIOCtx' has no member
named 'data'
/tmp/buildd/php5-5.4.0~beta2/ext/gd/gd_ctx.c: In function '_php_image_stream_putbuf':
/tmp/buildd/php5-5.4.0~beta2/ext/gd/gd_ctx.c:58:41: error: 'struct gdIOCtx' has no member
named 'data'
/tmp/buildd/php5-5.4.0~beta2/ext/gd/gd_ctx.c: In function '_php_image_stream_ctxfree':
/tmp/buildd/php5-5.4.0~beta2/ext/gd/gd_ctx.c:67:8: error: 'struct gdIOCtx' has no member
named 'data'
/tmp/buildd/php5-5.4.0~beta2/ext/gd/gd_ctx.c:68:3: error: 'struct gdIOCtx' has no member
named 'data'
/tmp/buildd/php5-5.4.0~beta2/ext/gd/gd_ctx.c:69:6: error: 'struct gdIOCtx' has no member
named 'data'
In file included from /tmp/buildd/php5-5.4.0~beta2/ext/gd/gd.c:103:0:
/tmp/buildd/php5-5.4.0~beta2/ext/gd/gd_ctx.c: In function '_php_image_output_ctx':
/tmp/buildd/php5-5.4.0~beta2/ext/gd/gd_ctx.c:153:6: error: 'gdIOCtx' has no member named
'data'


You need to wrap the _stream_ stuff inside the #ifdef HAVE_GD_BUNDLED




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



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


Thread (8 messages)

« previous php.bugs (#174843) next »