在安装php时,报如下错误

In file included from /kk/php-5.4.0/ext/gd/gd.c:103:

/kk/php-5.4.0/ext/gd/gd_ctx.c: In function ‘_php_image_stream_putc’:

/kk/php-5.4.0/ext/gd/gd_ctx.c:51: 错误:‘struct gdIOCtx’ 没有名为 ‘data’ 的成员

/kk/php-5.4.0/ext/gd/gd_ctx.c: In function ‘_php_image_stream_putbuf’:

/kk/php-5.4.0/ext/gd/gd_ctx.c:58: 错误:‘struct gdIOCtx’ 没有名为 ‘data’ 的成员

/kk/php-5.4.0/ext/gd/gd_ctx.c: In function ‘_php_image_stream_ctxfree’:

/kk/php-5.4.0/ext/gd/gd_ctx.c:67: 错误:‘struct gdIOCtx’ 没有名为 ‘data’ 的成员

/kk/php-5.4.0/ext/gd/gd_ctx.c:68: 错误:‘struct gdIOCtx’ 没有名为 ‘data’ 的成员

/kk/php-5.4.0/ext/gd/gd_ctx.c:69: 错误:‘struct gdIOCtx’ 没有名为 ‘data’ 的成员

/kk/php-5.4.0/ext/gd/gd_ctx.c: In function ‘_php_image_output_ctx’:

/kk/php-5.4.0/ext/gd/gd_ctx.c:153: 错误:‘gdIOCtx’ 没有名为 ‘data’ 的成员

make: *** [ext/gd/gd.lo] 错误 1

好像说这个错误算是php5.4的bug,下面对应的两篇文章有对应的说明:
https://bugs.php.net/bug.php?id=55224
https://bugs.php.net/bug.php?id=60108

解决方法

vi <gd_dir>/include/gd_io.h

gdIOCtx结构中增加void *data;

格式如下

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 *);

void (*data);

}

gdIOCtx;

转载于:https://www.cnblogs.com/xiangxiaodong/p/3489276.html

转 安装php时报gd相关的错误(gd_ctx.c)相关推荐

  1. 安装MATLAB时报错:提取错误 安装dsp_doc_en_common时检测到以下错误:某安装路径(指定的路径无效)

    疑难杂症,重装多少遍都无济于事,目前还没找到解决方法,期待大神的解救 委曲求全的解决方法 这个报错是在安装DSP System ToolBox时报错的,因此我们在安装时可以不勾选该工具包.查了一下这个 ...

  2. 【UE4游戏开发】安装UE4时报SU-PQR1603错误的解决方法

    [UE4游戏开发]安装UE4时报SU-PQR1603错误的解决方法 参考文章: (1)[UE4游戏开发]安装UE4时报SU-PQR1603错误的解决方法 (2)https://www.cnblogs. ...

  3. python 调用 tensorflow.dll_解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题...

    最近打算开始研究一下机器学习,今天在windows上装tensorflow花了点功夫,其实前面的步骤不难,只要依次装好python3.5,numpy,tensorflow就行了,有一点要注意的是目前只 ...

  4. navicat连接mysql闪退_Navicat连接MySQL时报10060及1045错误及my.ini位置问题

    Navicat连接数据库的10060及1045报错,MySQL8.0.18的my.ini文件在哪 出现这种现象的原因是3306端口被被防火墙禁掉,无法连接到该端口.首先呢,Win+R,运行servic ...

  5. linux系统安装软件报错,Linux安装软件时报错解决方法

    提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示: E: Could not ...

  6. Linux系统安装时报错,Linux安装软件时报错解决方法

    提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示:E: Could not ...

  7. linux下安装gd2.so,linux安装php,gd支持jpeg

    这几天弄一个项目的服务器,一同事突然告诉我报错误了 :Fatal error: Call to undefined function imagecreatefromjpeg() 解决办法: [size ...

  8. ubuntu:通过封装验证码类库一步步安装php的gd扩展

    我相信很多人的lamp环境都是直接复制一堆参数安装进去的,这里有可能成功,也有可能失败,如果是新手,估计要碰到各种错误,就算安装成功,也未必知道那些参数是干嘛的,反正装进去能用就行. 我当初开始的时候 ...

  9. 【解决办法】安装Exchange2010时报错 - “UserMailbox 必须强制使用Database”

    安装Exchange 2010 时报错"UserMailbox 必须强制使用 Database" 故障描述: 在原有Exchange Server 2010 SP1的环境安装新的服 ...

最新文章

  1. Win10系列:JavaScript动画2
  2. 教你IDEA中如何快速查看Java字节码,必须点赞收藏!!!
  3. 自学python能干些什么副业好-安利1个副业,不限专业,有人一天赚了2万…
  4. SQL优化(二) 快速计算Distinct Count
  5. python收集数据程序_用一行Python代码进行数据收集探索!Python真牛逼!
  6. 【Python】Python里的复数运算
  7. ostringstream 的清空数据方法
  8. linux ubuntu 安装 SSH
  9. 谷歌浏览器:解决Chrome浏览器添加扩展程序报错无法从该网站添加应用、扩展程序和用户脚本
  10. 翻译:如何在Mac OS X中设置文件权限chmod
  11. 从零开始,学习web前端之HTML5
  12. C++ 打表法计算农历错误数据处理
  13. 从零开始做一款Unity3D游戏<一>——亲自上手使用Unity
  14. java打印超市消费小票_Java-超市购物小票案例-详细介绍
  15. 电脑网页服务器拒绝连接失败,电脑服务器拒绝了连接怎么回事
  16. 深入理解Python中的if语句
  17. STM32F103C8T6引脚功能图
  18. 什么是TCP协议的三次握手四次挥手
  19. 带联网功能的RFID宿舍门禁(六)-两年后的再次总结
  20. HOUDINI 平面漩涡

热门文章

  1. 第三章 PX4-SPI底层驱动解析
  2. ucOS_II移植:Stm32启动代码分析
  3. 为什么数组是从0开始的
  4. 嵌入式Linux系统BSP的设计与实现
  5. 用CUDA实现Bellman-Ford
  6. 运行时报错RuntimeError: expected device cpu but got device cuda:0
  7. 崩坏西游html5多游游戏,崩坏西游无限元宝版
  8. activiti 条件表达式json报错_2020年2月13日学习python 条件控制
  9. ue编辑器拖拽上传图片_editor.md实现拖拽剪切复制粘贴上传图片,文件插件
  10. hough变换检测圆周_【视觉】视觉检测人应该了解的缺陷检测方法