在snow leopard上编译php之二
这一次我们要搞定mac上的多构架问题
先设置一下环境变量:
MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch i386 -arch x86_64 -bind_at_load" export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET
下载php代码,
EXTRA_LIBS="-lresolv" ./configure $(php-config --configure-options)
当然不可能这么顺利就编译过去,不然我也不写这个东西了。
首先编译的时候需要pcre,但是全新安装的系统没有这个库,根据前面的文章,
只要把ext/pcre/pcrelib/pcre.h放到/usr/下,不需要库,php自己包含了pcre。
如果要编译GD就会少png,jpeg这2个库,我去apple下了源代码,地址
里面的几个补丁可以参考一下,安装jpeg的时候要注意,
可能需要自己安装lib,header,
make install-lib;make install-header;
安装libpng时要注意低版本可能会有libtool问题,需要
cp /usr/share/libtool/config/config.guess ./
cp /usr/share/libtool/config/config.sub ./
解决libtool问题
make时候可能出现这样的提示:
gcc-4.0: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags
在 configure 的时候加上 --disable-dependency-tracking
现在回到php,编译没有问题,但是安装的时候又有问题,
安装后cli一直都是老版,下次再看看