編譯環(huán)境:ubuntu-12.0.4
編譯器:gcc arm-arago-linux-gnueabi
Python版本:3.6.2
Python安裝包文件名:Python-3.6.2.tgz
整個過程分為三大步驟:
直接編譯python,生成Python解釋器
交叉編譯python
復(fù)制可移植文件到arm文件系統(tǒng)
具體步驟:
1.將安裝包復(fù)制到新建的文件目錄下并解壓
解壓命令: tar –zxvf Python-3.6.2.tgz
- 進(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)載請附上博文鏈接!