移植 交叉編譯zeroMQ與pyzmq

2021-08-06 06:39:39 字數 1402 閱讀 3813

因為專案需要,需要將pyzmq第三方包移植到arm板,這樣會涉及zeromq與pyzmq兩個庫的交叉編譯。

當然,有快捷的方法:

1. 直接使用arm板連線外網,直接安裝zeromq與pyzmq,可以參考官網guide或參考:

2. 我們這裡使用的方法是,zeromq在虛擬機器編譯,pyzmq在開發板上編譯。

最終我們是為了得到arm平台的libzmq.so動態庫,以及python zmq包,在python使用zmq,是需要依賴libzmq.so動態的,這個需要注意的。

1. 將原始碼zeromq-4.1.6.tar.gz放入虛擬機器,依次執行以下命令:

tar zxvf   zeromq-4.1.6.tar.gz  .   解壓在當前目錄。

cd zeromq-4.1.6

./configure --host=arm-linux-gnueabihf --prefix=/opt/arm-zeromq/ --without-libsodium 藍色為交叉編譯庫,根據自己系統交叉編譯的平台選擇,紅色是生成lib與include等檔案的資料夾,請自己事先建立。

make  && make  install    注意不要隨意切換超級使用者,可以會造成找不到編譯器之類的錯誤,主要看自己的linux配置。

生成的檔案都在/opt/arm-zeromq/下:

tar  zxvf  pyzmq-16.0.2.tar.gz  .   解壓到當前目錄,也就是根目錄下。

cd  pyzmq-16.0.2

python2.7 setup.py configure --zmq=/zeromq-arm  紅色部分即即為編譯的時候需要找到的動態庫檔案等

python2.7 setup.py build_ext --inplace

python2.7 setup.py install

安裝好後都沒有報錯,進入到以下目錄:

cd  zmq/backend/cython

使用file命令檢視動態庫的資訊,如果為arm版本,就說明該包已經生成。注意這裡這個包只能python2.7使用,根據自己的需要切換綠色python版本。

如果看到的檔案還是如下圖的,說明編譯失敗:

cd -    回到pyzmq-16.0.2資料夾,

將在這個資料夾下的zmq資料夾拷貝,這個就是生成第三方python zmq包,注意zmq會依賴libzmq.so檔案,根據需要放入指定地方。

在最後一步的時候又將pyzmq放到開發板中編譯,顯得有點累贅,希望各位看到小弟的帖子,有更好的方法,歡迎討論。

ppp與pppoe 交叉編譯移植

交叉編譯鏈為 arm hismall linux 1 arm linux 核心支援 ppp 2 install ppp 2.4.4 rp pppoe 要ppp 的支援才能正常執行 3 install rp pppoe。4 把步驟 2 3 有的文件說需要 交叉編譯 libcap www.tcpdump...

madplay移植 交叉編譯

移植madplay 需要如下檔案 madplay 0.15.2b.tar.gz libmad 0.15.1b.tar.gz libid3tag 0.15.1b.tar.gz 和zlib 1.2.3.tar.gz。zlib 1.1.4.tar.gz zlib 1.2.3.tar.gz類似 1 配置編譯...

OpenSSH交叉編譯和移植

一 openssl交叉編譯編譯 2 解壓 tar xvzf openssl 1.0.1h.tar.gz 3 進入解壓後的目錄,然後再建立輸出目錄 make install是安裝在該目錄 如mkdir outdir 4 配置 config no asm prefix home testdir open...