php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20059 PHP fails to compile with the GD library
Submitted: 2002-10-24 08:20 UTC Modified: 2002-10-24 13:50 UTC
Votes:3
Avg. Score:5.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:0 (0.0%)
Same OS:2 (100.0%)
From: stefan dot pietsch at web dot de Assigned:
Status: Not a bug Package: Compile Failure
PHP Version: 4.3.0-pre1 OS: Redhat Linux
Private report: No CVE-ID: None
 [2002-10-24 08:20 UTC] stefan dot pietsch at web dot de
I used the following configure line:
./configure --prefix=/opt/php --with-apxs=/opt/apache/bin/apxs --with-mysql=/opt/mysql --with-gd=/opt/gd --enable-gd-native-ttf --with-freetype-dir=/opt/freetype --with-ming=/opt/ming --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr

GD 2.0.4 is installed under /opt/gd

The error message:
In file included from /home/stefan/php-4.3.0pre1/ext/gd/gd.c:90:
/home/stefan/php-4.3.0pre1/ext/gd/gd_ctx.c: In function `_php_image_output_ctx':
/home/stefan/php-4.3.0pre1/ext/gd/gd_ctx.c:70: structure has no member named `free'
/home/stefan/php-4.3.0pre1/ext/gd/gd_ctx.c:98: structure has no member named `free'
/home/stefan/php-4.3.0pre1/ext/gd/gd.c: In function `_php_image_type':
/home/stefan/php-4.3.0pre1/ext/gd/gd.c:1036: structure has no member named `free'
/home/stefan/php-4.3.0pre1/ext/gd/gd.c:1039: structure has no member named `free'
/home/stefan/php-4.3.0pre1/ext/gd/gd.c: In function `_php_image_create_from':
/home/stefan/php-4.3.0pre1/ext/gd/gd.c:1216: structure has no member named `free'

PHP 4.2.3 and the latest snapshot(200210240300) also fail to compile.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-10-24 08:53 UTC] se at e-kazan dot ru
Patch for PHP 4.3.0pre1 and GD-2.0.x:

[root@x gd]# diff gd.old.c gd.c 
1036c1036
<          io_ctx->free(io_ctx);
---
>          io_ctx->gd_free(io_ctx);
1039c1039
<          io_ctx->free(io_ctx);
---
>          io_ctx->gd_free(io_ctx);
1216c1216
<        io_ctx->free(io_ctx);
---
>        io_ctx->gd_free(io_ctx);


[root@x gd]# diff gd_ctx.c gd_ctx.old.c 
70c70
<        ctx->gd_free = _php_image_output_ctxfree;
---
>        ctx->free = _php_image_output_ctxfree;
98c98
<       ctx->gd_free(ctx);
---
>       ctx->free(ctx);
 [2002-10-24 08:57 UTC] Evgeny Stepanischev <se at e-kazan dot ru>
I think this patch must solve the problem.
 [2002-10-24 10:06 UTC] iliaa@php.net
If you use the bundled GD do you still experience the compilation problem?
 [2002-10-24 13:45 UTC] matt at rp6 dot net
This is the correct solution and it does solve the problem. I posted the exact same solution.

However, this affects (most likely) every single version of PHP.
 [2002-10-24 13:50 UTC] iliaa@php.net
Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions. 

Thank you for your interest in PHP.

Bogus for the same reason as #20069. PHP already comes bundled with a modified version of GD, which is based on GD 2.0.2 with some additions made by PHP developers. Until the syncronization between the bundled GD & GD 2.0.4 occurs, please use the bundled GD to avoid problems.
 [2002-10-24 14:34 UTC] stefan dot pietsch at web dot de
The configure script fails with 4.3.0-pre1:
./configure --prefix=/opt/php --with-apxs=/opt/apache/bin/apxs --with-mysql=/opt/mysql --with-gd --enable-gd-native-ttf --with-freetype-dir=/opt/freetype --with-ming=/opt/ming --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr
creating cache ./config.cache
[...]
configure: error: Unable to find gd.h anywhere under /usr/local /usr

The latest snapshot seems to work.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri May 03 13:01:32 2024 UTC