移植Python到arm linux系統(tǒng)

編譯環(huán)境:ubuntu-12.0.4

編譯器:gcc arm-arago-linux-gnueabi

Python版本:3.6.2

Python安裝包文件名:Python-3.6.2.tgz

整個過程分為三大步驟:

  1. 直接編譯python,生成Python解釋器

  2. 交叉編譯python

  3. 復(fù)制可移植文件到arm文件系統(tǒng)

具體步驟:

1.將安裝包復(fù)制到新建的文件目錄下并解壓

解壓命令: tar –zxvf Python-3.6.2.tgz

  1. 進(jìn)入Python-3.6.2文件夾,執(zhí)行:

./configure

3.編譯python Pareser/pgen ,生成Python解釋器:

make

4.在Python-3.6.2目錄下新建mylib文件夾,用于存放生成的可移植文件:

命令:mkdir mylib

5.配置交叉編譯:

· CC為指定C交叉編譯器,我的是arm-arago-linux-gnueabi-gcc

· CXX為指定C++交叉編譯器,我的是arm-arago-linux-gnueabi-g++

· AR為ar工具,我的是arm-arago-linux-gnueabi-ar

· RANLIB為ranlib工具,我的是arm-arago-linux-gnueabi-ranlib

· Host為目標(biāo)主機(jī),我這里設(shè)置的是arm-arago-linux-gnueabi

· Build為編譯環(huán)境主機(jī),我的是i386

· Prefix為安裝位置

配置命令:

CC=arm-arago-linux-gnueabi-gccCXX=arm-arago-linux-gnueabi-g++ AR=arm-arago-linux-gnueabi-arRANLIB=arm-arago-linux-gnueabi-ranlib ./configure--host=arm-arago-linux-gnueabi --build=i386 --disable-ipv6ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --prefix=/home/forlinx/work/python/Python-3.6.2/mylib

6.編譯

l HOSTPYTHON指定我們之前編譯的X86版本的python文件

l HOSTPGEN指定我們之前編譯的X86版本的pgen文件

編譯命令:

make HOSTPYTHON=./python HOSTPGEN=./Parser/pgenBLDSHARED="arm-arago-linux-gnueabi-gcc -shared"CROSS_COMPILE=arm-arago-linux-gnueabi- CROSS_COMPILE_TARGET=yesHOSTARCH=arm-arago-linux-gnueabi BUILDARCH=i386

7.安裝

安裝命令:

make install HOSTPYTHON=./pythonBLDSHARED="arm-arago-linux-gnueabi-gcc -shared"CROSS_COMPILE=arm-arago-linux-gnueabi- CROSS_COMPILE_TARGET=yesprefix=/home/forlinx/work/python/Python-3.6.2/mylib

8.復(fù)制mylib目錄下文件到arm文件系統(tǒng)

最后會在prefix指定的目錄下有新生成的文件和文件夾,主要文件夾是/bin,/include,/lib,/share。把他們都復(fù)制到目標(biāo)機(jī)器的/usr目錄下。最后在目標(biāo)機(jī)上執(zhí)行一下命令可以檢查python環(huán)境是否完整。

9.重新編譯arm文件系統(tǒng),并燒錄到開發(fā)板驗證。

作者:scofiled_quan
來源:CSDN
原文:https://blog.csdn.net/scofiled_quan/article/details/78047552
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容