因為專案需要,需要將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...