为arm 编译包含gd的php5
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的更多相关文章
- 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 ...
- 烂泥:centos单独编译安装gd库
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没 ...
- ARM编译空间属性(转)
原文地址:http://www.cnblogs.com/hongzg1982/articles/2205093.html 1. 程序的空间属性 一般情况下,一个程序本质上都是由 bss段.data段. ...
- linux又一次编译安装gd,添加freetype支持,解决验证码不显示问题,Fatal error: Call to undefined function imagettftext()
问题: Fatal error: Call to undefined function Think\imagettftext() in /var/www/webreg/ThinkPHP/Library ...
- 编译包含Google Play服务App的SDK版本问题
编译包含Google Play服务App的SDK版本问题 错误信息:No Resouce identifier found for attribute 'touchscreen BlocksFoc ...
- 【CentOS】php编译安装gd库
一.准备工作 使用之前服务器按源码最小化安装完nginx.php-fpm,没有安装gd库,下面介绍下gd库的安装. gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建 ...
- 已安装php 编译安装 gd库拓展模块
参考资料:http://wenku.baidu.com/link?url=EgXFShYxeJOZSYNQ_7RCBC-6X8OcRRCqVm4qCv49uBk57d6vLBoUpfYdQ-KqJRs ...
- linux编译php gd扩展
1 安装gd的依赖包 yum -y install gd gd2 gd-devel gd2-devel zlib freetype 2 安装jpeg: wget http://www.ijg.org/ ...
- 自己编写的:centos6.6上编译安装apache2.4+php5.6+mysql5.6【亲自】
在centos6.6上安装apache2.4+php5.6+mysql5.6 关于wget的安装 将之前装系统的.iso文件挂载到光驱 由于我在/home/jinnan/下建立了一个cdrom文件夹 ...
随机推荐
- mysql5.7服务器The innodb_system data file 'ibdata1' must be writable导致无法启动服务器
现象如下:The innodb_system data file 'ibdata1' must be writable. 解决方案如下: 1.关闭mysqld进程: 2.删除配置文件中datadir所 ...
- Servlet—基础
什么是Servlet? 1 . jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代 码,Web容器将JSP的代码编译成JVM能够识别 ...
- nginx安装,反向代理配置
1.centos 版本 下载最新稳定版 https://www.nginx.com/resources/wiki/start/topics/tutorials/install/# 2.执行语句: ./ ...
- MySQL从删库到跑路_高级(五)——触发器
作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.触发器简介 1.触发器简介 触发器是和表关联的特殊的存储过程,可以再插入,删除或修改表中的数据时触发执行,比数据 ...
- 数据仓库基础(二)ETL
本文转载自:http://www.cnblogs.com/evencao/archive/2013/06/14/3135529.html ETL在数据仓库中具有以下的几个特点: 数据流动具有周期性: ...
- MySQL数据库----IDE工具介绍及数据备份
一.IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 二.MySQL数据备份 # ...
- python之路----黏包的解决方案
黏包的解决方案 远程执行命令 # server 下发命令 给client import socket sk = socket.socket() sk.bind(('127.0.0.1',8080)) ...
- 解析分布式锁之Redis实现(二)
摘要:在前文中提及了实现分布式锁目前有三种流行方案,分别为基于数据库.Redis.Zookeeper的方案,本文主要阐述基于Redis的分布式锁,分布式架构设计如今在企业中被大量的应用,而在不同的分布 ...
- c++随机数及rand()的缺陷
c++生成随机整数和浮点数如下: #include <random> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { ...
- JavaScript DOM 元素属性 状态属性
JavaScript DOM 元素属性 状态属性 版权声明:未经允许,严禁转载! 元素的属性 核心 DOM 为我们提供了操作元素标准属性的统一 API. 所有属性节点都储存在元素的 attribute ...