平台:iMX6UL OS:linux
我没有在python官网下载源码包,我直接应用frescale的yocto bsp包的,如下
====================
1. 在我的工作目录/python目录下解压源码包
xz -d Python-2.7.9.tar.xz
tar –xvf Python-2.7.9.tar
创建一个编译后的lib存放路径,并导出:
/home/diskf/home/hyj/python/python_install
export install_dir=/home/diskf/home/hyj/python/python_install
2. 导出我的交叉编译器配置如下
3. 针对在configure过程中的如下报错
做如下修改:
echo ac_cv_file__dev_ptmx=yes >> config.site
echo ac_cv_file__dev_ptc=yes >> config.site
export CONFIG_SITE=config.site
4. 继续执行如下configure
./configure --host=arm-none-linux-gnueabi --build=x86_64-linux-gnu --disable-ipv6--prefix=$install_dir --enable-shared –silent
5. make (不要make;make install,因为一旦make报错,后一步没有意义),有如下报错:
修改方法如下:
vim Include/graminit.h 添加#include
接着又有如下报错:其实很简单就是目录/home/diskf/home/hyj/python/python_install/lib下没有zlib的相关库
--------------------
Python/thread.o Modules/config.o Modules/getpath.o Modules/main.o Modules/gcmodule.o Modules/threadmodule.o Modules/signalmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/zipimport.o Modules/symtablemodule.o Modules/zlibmodule.o Modules/xxsubtype.o -L/home/diskf/home/hyj/python/python_install/lib -lz
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
-------------------
6. 回过头去交叉编译 arm 版的zlib(我用的zlib1.2.8),将编译生成的如下文件
copy到home/diskf/home/hyj/python/python_install/ 目录下,继续make;make install
7. arm-none-linux-gnueabi-strip
8. 移植到嵌入式开发板
注:由于我的rootfs本身的问题,最终我没有移植成功pip和easy_install,只有一python基本包,所以想要包管工具安装第三方库的童鞋还需继续努力。