linux交叉编译zlib,交叉编译libxml2 zlib-1.2.11

该博客详细记录了在Linux环境下交叉编译libxml和Python2.7的过程,包括配置环境变量、设置编译选项、解决依赖问题以及处理头文件缺失的错误。涉及到的关键步骤包括zlib的编译安装、python的交叉编译以及修复pyconfig.h头文件的问题。
摘要由CSDN通过智能技术生成

https://blog.csdn.net/c1194758555/article/details/73888960

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:

②  配置环境变量及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-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CXX=arm-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

出现上述错误,则按照下述步骤操作。

①下载链接:

②建立环境变量

$  export work=/home/chy/mys/meas-build/python-arm/

③配置并编译PC版python

$ mkdir ./build-pc

$ cd build-pc

$ ../configure

$ make python Parser/pgen

④配置并安装arm版的python

$ mkdir build-arm

$ cd build-arm

$ ../configure --host=arm-linux-gnueabihf --build=x86_64-linux-gnu --prefix=/home/xpf/code/python-arm/ --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/目录下

$ cp python-arm/include/python2.7/pyconfig.h /opt/gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/4.9.4/include/

$ sudo gedit /usr/include/python2.7/pyconfig.h

修改include 为include

$ sudo cp -rf python-arm/lib/* /opt/gcc-linaro-4.9-2016.02-x86_64_arm-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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值