1. 下载libxml2-2.9.4.tar.gz
http://xmlsoft.org/sources/libxml2-2.9.4.tar.gz
2. 配置并编译libxml
$ ./configure --prefix=$work --host=arm-chy-linux-gnueabihf CC=arm-chy-linux-gnueabihf-gcc CXX=arm-chy-linux-gnueabihf-g++
$ make
/home/chy/x-tools/arm-chy-linux-gnueabihf/lib/gcc/arm-chy-linux-gnueabihf/5.4.0/../../../../arm-chy-linux-gnueabihf/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
出现上述错误,则按下面步骤交叉编译libz:
http://www.zlib.net/zlib-1.2.11.tar.gz
② 配置环境变量及zlib
$ export work=/home/chy/mys/meas-build/meas-arm //安装目录
$ export CC=/home/chy/x-tools/arm-chy-linux-gnueabihf/bin/arm-chy-linux-gnueabihf-gcc
$ ./configure --prefix=$work
③编译并安装
$ make && make install
重新配置并编译libxml
$ ./configure --prefix=$work --host=arm-chy-linux-gnueabihf CC=arm-chy-linux-gnueabihf-gcc CXX=arm-chy-linux-gnueabihf-g++ Z_CFLAGS=-I/home/chy/mys/meas-build/meas-arm/include Z_LIBS=-L/home/chy/mys/meas-build/meas-arm/lib LDFLAGS=-L/home/chy/mys/meas-build/python-arm/lib
/usr/include/python2.7/pyconfig.h:24:54: fatal error: arm-linux-gnueabihf/python2.7/pyconfig.h: No such file or directory
出现上述错误,则按照下述步骤操作。
(1)交叉编译Python-2.7.13.tgz
①下载链接:
https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
②建立环境变量
$ export work=/home/chy/mys/meas-build/python-arm/
③配置并编译PC版python
$ mkdir ./build-pc
$ ../configure
$ make python Parser/pgen
④配置并安装arm版的python
$ mkdir build-arm
$ ../configure --host=arm-chy-linux-gnueabihf --build=x86_64-linux-gnu --prefix=$work --disable-ipv6 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no ac_cv_have_long_long_format=yes PGEN_FOR_BUILD=../build-pc/Parse/pgen
$ make
$ make isntall -i
(2)配置交叉编译链
$ sudo vim /usr/include/python2.7/pyconfig.h
把交叉编译得到的pyconfig.h复制到交叉编译器的arm-chy-linux-gnueabihf/lib/gcc/arm-chy-linux-gnueabihf/5.4.0/include/arm-chy-linux-gnueabihf/目录下
$ sudo vim /usr/include/python2.7/pyconfig.h
修改include <armlinux-gnueabihf/python2.7/pyconfig.h>为include <arm-chy-linux-gnueabihf/python2.7/pyconfig.h>
$ sudo cp -r /home/chy/mys/meas-build/python-arm/lib/* /home/chy/x-tools/arm-chy-linux-gnueabihf/lib/
交叉编译python2.7得到的库文件,添加到交叉编译链的/lib目录中。
3. 重新配置并编译安装
$ ./configure --prefix=$work --host=arm-chy-linux-gnueabihf CC=arm-chy-linux-gnueabihf-gcc CXX=arm-chy-linux-gnueabihf-g++ Z_CFLAGS=-I/home/chy/mys/meas-build/meas-arm/include Z_LIBS=-L/home/chy/mys/meas-build/meas-arm/lib LDFLAGS=-L/home/chy/mys/meas-build/python-arm/lib CPPFLAGS=-I/home/chy/mys/meas-build/python-arm/include
$ make && make install