交叉編譯python3 6 6一直到arm上

2021-10-05 18:49:49 字數 1903 閱讀 7435

1、由於以前沒有接觸過關於這方面問題,在工作初,在網上搜資料,但是網上資料五花八門的,於是我自己花了三天一步步的移植成功,在此,我把它的移植過程整理如下:

2、編譯問題。

(1)編譯使用編譯 主機自帶的交叉編譯工具鏈(64位)編譯**錯,通過查資料發現原因是沒有在主機上安裝相應的pthon3.6.6.

./configure

make

make install

(2). 配configure的引數, cnfigre (ccx… 時,出錯,原因是沒有提前讓生成直譯器。在這裡需要注意指定路徑(prefix)) ,否則最後就會預設安裝到/usr/bin下,導致移檔缺少基本庫。

解決方法: make parse/pgen生成直譯器

(3) make時, 出錯, 原因是沒有清理以前編譯時一 些沒有用的檔案.

解決方法: make clean

(4)make install時 ,可能會出現subprocess.calledprocesserrorc ommand '( 『lsb release,『a』 )』 returned non-zero exit statas 1.的錯誤。

解決方法:執行命令rm -rf /usr/bin/lsb release可以解決這個問題。此時需要在make dlean下,然後在執行make & make install.

(5)把交叉編譯成功的的mybuild檔案移植arm板中。可以放到/opt下面,不過要建立軟連線,否則只能在mybuild/bin執行python3才會顯示成功。其中還有一些問題, 由於編譯主機自帶交又編譯的工具鏈的版本比較高,交叉編譯成功的python移植到arm板上和arm上自帶的乙個基本庫glibc2.19不匹配。導致直提醒缺少glibc2.25庫。 經過不斷的嘗試和諮詢:最後得出解決方法有兩種,一 種是吧動態庫變成靜態庫,但是可行性不高,系統容易死掉,幾乎所有東西的執行都依賴的glibc庫。第二種,更換工具鏈,換成和arm板相匹配的工具鏈,可行性高,但是在此過程中還得注意乙個問題, 那就是編譯主機的環境要和arm板相匹配的工具鏈(32位)一致, 否則也會報錯。通過不斷嘗試和更換不同的工具鏈得出的結論。

3、總結

整體分為三大步驟:

1、 直接編python,生python的解程器.如果虛權機沒有安裝ptho3.6.6,那麼安裝pthon3.6.6

2、交叉編譯python

3、 複製可移植檔案到arm

具體步驟:

2)解壓python3.6.6.tar.gz.

編譯出直譯器: ./configure make (make parser/pgen) make install

mkdir mybuild

5)配置configure 的引數:主要引數: cc=arm-none linux -gnueabi-gcc cxx= arm none linux gnueabi-gc+ + ar=arm none linux -gnueabi-ar ranlib=arm-none linux -gnueabi-ranlib - host= arm-none -linux- gnueabi一build=x86_ 64 --disable ipv6

ac_ cv_ file_ dev_ ptmx=no ac cv file_ dev_ ptm=no -

–prefix= $(pwd)/mybuild

make

make install

8)找到mybuild檔案,資料夾裡主要有四個檔案: bin share lib incude 把他們壓縮成tar包,然後把他們複製到arm系統下/opt 下指定軟連線。驗證是否成功,

注釋: cc為指定的c交叉編譯器

cxx為指定c+ +交叉編譯器。

ar為ar工具。

ranlib為ranlib工具。

host為目標主機,交叉編譯工具鏈的字首。

build為編譯環境主機。

prefix為安裝路徑。

Qt 編譯一直死迴圈問題

有時候qt編譯專案時,一直編不過,檢視一下編譯視窗,發現一直在迴圈 輸出如下 c soft qt5.11 5.11.1 mingw53 32 bin qmake.exe o makefile palmqtlib palmqtlib palmqtlib.pro spec win32 g config ...

儲存過程重新編譯一直卡死

一次修改dblink密碼,導致所有物化檢視儲存過程失效,執行儲存過程卡死.重新重新整理了物化檢視,儲存過程無法重新編譯 跟蹤plsql會話,kill掉正active和inactive的會話。結果還卡死 查詢會話狀態 select distinct status from v session 查詢已經...

python匯入requests庫一直報錯原因總結

花了好長時間一直在搞這個 源 一直報如下錯誤 分析原因 後來找到乙個命令pip install requests,說明安裝python3的時候,已經自動勾選安裝了requests庫了 進入python的安裝目錄檢視,pip等均已自帶了 太浪費精力了 後來無意間看到有人說,如果各種都配置好了,還是報錯...