1) 下载gd的各种依赖包。 但是不要下载gd本身,因为这是包含在php里的。

探索的时候也下载了 libvpx freetype,可惜最后的编译没过,就没有用上

2)编译各种(编译前记得把各种环境变量设上,这里我就直接用以前写好的cross-env.sh)

-- libvpx

xz -d libvpx-v1.3.0.tar.xz
tar -xvf libvpx-v1.3.0.tar
cd libvpx-v1.3.0
./configure --prefix=/h1root/usr/libvpx --target=armv7-linux-gcc
make && make install

-- tiff(后来没用上)

./configure --prefix=/h1root/usr/tiff --host=arm-linux 

-- libpng(花了非常多的时间调查,这两个环境变量不设的话,似乎永远找不到zlib)

export LDFLAGS="-L/h1root/usr/zlib128/lib"
export CPPFLAGS="-I /h1root/usr/zlib128/include"
./configure --prefix=/h1root/usr/libpng --host=arm-linux

-- freetype

./configure --prefix=/h1root/usr/freetype --host=arm-linux  --without-png

-- gd的单独编译应该不需要。不要下载gd


3) 编译php

千万要注意, --with-gd后不要跟任何东西。这样,就会利用php自带的gd source编译。

如果不这么做,最后连接时会产生错误。

ext/gd/gd.o: In function `zif_imageloadfont':
gd.c:(.text.zif_imageloadfont+0x1d0): undefined reference to `overflow2'
gd.c:(.text.zif_imageloadfont+0x1ec): undefined reference to `overflow2'
ext/gd/gd.o: In function `zif_imagecreatefromstring':
gd.c:(.text.zif_imagecreatefromstring+0x1b8): undefined reference to `gdGetC'
gd.c:(.text.zif_imagecreatefromstring+0x1bc): undefined reference to `gdGetC'
gd.c:(.text.zif_imagecreatefromstring+0x1c0): undefined reference to `getmbi'
gd.c:(.text.zif_imagecreatefromstring+0x1d0): undefined reference to `gdGetC'
gd.c:(.text.zif_imagecreatefromstring+0x1d4): undefined reference to `skipheader'
collect2: ld returned exit status
make[]: *** [sapi/cgi/php-cgi] Fehler
make[]: Leaving directory `/home/user/freetz/source/target-mips_gcc-4.6.4_uClibc-0.9.32.1/php-5.4.'
./configure --prefix=/h1root/usr/php --host=arm-linux --enable-libxml --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib=/h1root/usr/zlib128 --without-iconv  --with-libxml-dir=/h1root/usr/libxml2 --without-pear --without-sqlite3 --with-gd --without-pdo_sqlite --with-jpeg-dir=/h1root/usr/jpeg --with-png-dir=/h1root/usr/libpng 

4) 把编译好的程序放到运行环境执行, php --version.

一般会告诉你缺 libpng.so , libjpeg.so , 把这些连接库也考过去就可以了。

5)写个phpinfo的php,在浏览器里执行之后,就会知道php.ini具体该放哪里。 php源程序里有示例php.ini,拿过去用就行。

为arm 编译包含gd的php5的更多相关文章

  1. php5.6.30环境报错Call to undefined function ImageCreate() 编译安装 gd库

    php5..30环境报错Call to undefined function ImageCreate() 编译安装 gd库 发现php5..30没有加载gd库 [root@cn_vs_web04:/u ...

  2. 烂泥:centos单独编译安装gd库

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没 ...

  3. ARM编译空间属性(转)

    原文地址:http://www.cnblogs.com/hongzg1982/articles/2205093.html 1. 程序的空间属性 一般情况下,一个程序本质上都是由 bss段.data段. ...

  4. linux又一次编译安装gd,添加freetype支持,解决验证码不显示问题,Fatal error: Call to undefined function imagettftext()

    问题: Fatal error: Call to undefined function Think\imagettftext() in /var/www/webreg/ThinkPHP/Library ...

  5. 编译包含Google Play服务App的SDK版本问题

    编译包含Google Play服务App的SDK版本问题   错误信息:No Resouce identifier found for attribute 'touchscreen BlocksFoc ...

  6. 【CentOS】php编译安装gd库

    一.准备工作 使用之前服务器按源码最小化安装完nginx.php-fpm,没有安装gd库,下面介绍下gd库的安装. gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建 ...

  7. 已安装php 编译安装 gd库拓展模块

    参考资料:http://wenku.baidu.com/link?url=EgXFShYxeJOZSYNQ_7RCBC-6X8OcRRCqVm4qCv49uBk57d6vLBoUpfYdQ-KqJRs ...

  8. linux编译php gd扩展

    1 安装gd的依赖包 yum -y install gd gd2 gd-devel gd2-devel zlib freetype 2 安装jpeg: wget http://www.ijg.org/ ...

  9. 自己编写的:centos6.6上编译安装apache2.4+php5.6+mysql5.6【亲自】

    在centos6.6上安装apache2.4+php5.6+mysql5.6 关于wget的安装 将之前装系统的.iso文件挂载到光驱 由于我在/home/jinnan/下建立了一个cdrom文件夹 ...

随机推荐

  1. C++11使用emplace_back代替push_back

    最近在写一段代码的时候,突然很好奇C++11中对push_back有没有什么改进以增加效率,上网搜了一些资料,发现果然新增了emplace_back方法,比push_back的效率要高很多. 首先,写 ...

  2. 浅谈为什么一个java源文件中只能有一个public类?

    声明,本篇文章为转载 转载 http://blog.csdn.net/bareheadzzq/article/details/6562211 最近在一个java文件中实现了几个类,其中一个声明为pub ...

  3. HTTP 协议入门

    本文转载自:http://www.ruanyifeng.com/blog/2016/08/http.html HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它 ...

  4. python练习-生成一个1到50的大字符串每个数字之间有个空格

    #-*-encoding:UTF-8-*- string=[] for i in range(1,51): string.append(str(i)) print string#打印一下string ...

  5. 利用构造函数对canvas里面矩形与扇形的绘制进行一个封装

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. SACD ISO镜像中提取DSDIFF(DFF)、DSF文件

                      听语音 | 浏览:5620 | 更新:2015-08-25 11:46 | 标签:硬件 1 2 3 4 5 分步阅读 现在有一种比较流行的无损音乐传输介质是SACD ...

  7. 写Java代码的一些小技巧

    写Java代码有三年多了,遇到过很多坑,也有一些小小的心得.特地分享出来供各位学习交流.这些技巧主要涉及谷歌Guava工具类的使用.Java 8新特性的使用.DSL风格开发.代码封装等技巧. 一.nu ...

  8. linux的dns被劫持

    环境:ubuntu16.04 解说:ubuntu使用dnsmasq获取要解析的网站ip,dnsmasq通过域名服务器获取网站ip,并将ip缓存起来,那么就可以减少对外网域名服务器的访问,从而可以使系统 ...

  9. JavaScript replaceAll

    网上的: String.prototype.replaceAll = function(str1, str2) { var str = this; var result = str.replace(e ...

  10. 动态规划模板2|LCS最长公共子序列

    LCS最长公共子序列 模板代码: #include <iostream> #include <string.h> #include <string> using n ...