Ubuntu12.04上交叉编译python-3.2.2详细过程

2019-07-12 23:09发布

data/attach/1907/b00no0gq8776mofrgavyi9gwkgzih73l.jpgdata/attach/1907/k1jj8k9a6uox67qx73ytpx3bwuk9yws1.jpgdata/attach/1907/c3h7pyus2yo9hff45id4dep25t9m58c6.jpgdata/attach/1907/k4oag6yerg3obdehhd35ekoartdw29yy.jpgdata/attach/1907/t9x4brek5a1kkrzttqpp16ayv8yinor9.jpgdata/attach/1907/cj2wuhht2dqgqsp1vbibcaj36k1f2iac.jpgdata/attach/1907/5dgpkvev9f0t73yns352c3q2dftqp5zc.jpgdata/attach/1907/3folhlu305ft8y9tg9051578dg4mslac.jpgdata/attach/1907/n81ica4qjhqaq1gre7o9owd2tuwwjbkc.jpgdata/attach/1907/m6ol4djhiltce1q0xugxgsv7kk33vv09.jpg 准备工作:1.下载python-3.2.2源代码并安装到自己Ubuntu系统里                     2.下载python-3.2.2对应的补丁Python-3.2.2-xcompile.patch                    3.确定自己Ubuntu系统安装了交叉编译器,这里我选用的是arm-linux-gnueabi-gcc 下载好python源码包,找到在系统哪里。              
第一步:解压python包     ------------------------------------------------------->tar zxvf  Python-3.2.2.tgz                               
                  

第二步:进入到python-3.2.2里----------------------------------------------->cd Python-3.2.2                                   第三步:运行配置文件 ----------------------------------------------------->   ./configure 大约5秒时间

第四步:编译PC版python Parser/pgen--------------------------------->   make python Parser/pgen 这个耗时1分钟左右


第五步:将生成的PC版移动到hostpython------------------------------>     mv python hostpython

第六步:将生成的PC版解释器移动至Parser/hostpgen ------------->    mv Parser/pgen Parser/hostpgen


第七步:清除不必要的文件   ------------------------------------------------>     make distclean


打上补丁哦!!! patch -p1 < /home/xf/Python-3.2.2-xcompile.patch

第八步:设置交叉编译器 CC=arm-none-linux-gnueabi-gcc

第九步:设置C++交叉编译器 CXX=arm-none-linux-gnueabi-g++

第十步:设置AR  AR=arm-none-linux-gnueabi-ar

第十一步:设置RANLIB    RANLIB=arm-none-linux-gnueabi-ranlib


第十二步:生成符合交叉编译器makefile--------------------------> ./configure --host=arm-none-linux-gnueabi --prefix=/python   make

第十三步:make  HOSTPYTHON=./hostpythonHOSTPGEN=./Parser/hostpgen BLDSHARED="arm-none-linux-gnueabi-gcc -shared"CROSS_COMPILE=arm-none-linux-gnueabi- CROSS_COMPILE_TARGET=yes

第十四步:make install HOSTPYTHON=./hostpython BLDSHARED="arm-none-linux-gnueabi-gcc -shared" CROSS_COMPILE=arm-none-linux-gnueabi- CROSS_COMPILE_TARGET=yes prefix=/home/xf/Python/_install

到此我们就完成了PC端的操作,接下来就是嵌入式Linux端的操作了。。。。。。 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 第一步:将刚刚生成的_install文件夹压缩copy到arm板子上(不压缩的话直接拷贝涉及到文件权限问题,一个个弄太麻烦,直接压缩!)
第二步:解压--------unzip _install
第三步:ls _install 查看是不是有四文件夹:bin 、include、lib、share


图 a 第四步:进入到bin文件夹中----------------cd bin


图b
第五步:测试-----------------------------------./python3.2


图C 至此移植成功啦!!!