1. 程式人生 > >交叉編譯 小米路由器mini 的 pyOpenSSL

交叉編譯 小米路由器mini 的 pyOpenSSL

export XIAOMI_ROOT_PATH=/opt/xiaomi
export PATH="${XIAOMI_ROOT_PATH}/bin:${PATH}"

export CC="mipsel-openwrt-linux-uclibc-gcc -pthread" 
export LDSHARED="mipsel-openwrt-linux-uclibc-gcc -shared"
export CFLAGS="-I${XIAOMI_ROOT_PATH}/python/include/python2.7 -I${XIAOMI_ROOT_PATH}/include"
export LDFLAGS="-L${XIAOMI_ROOT_PATH}/lib -L${XIAOMI_ROOT_PATH}/python/lib"

export PYTHONHOME=${XIAOMI_ROOT_PATH}/python/
export PYTHONPATH=${PYTHONHOME}/lib/python2.7:${PYTHONHOME}/lib/python2.7/lib-dynload:${PYTHONHOME}/lib/python2.7/site-packages/

wget -c http://downloads.openwrt.org/sources/pyOpenSSL-0.10.tar.gz
tar xvzf pyOpenSSL-0.10.tar.gz

cd pyOpenSSL-0.10
python setup.py build
python setup.py install -v --no-compile --prefix=${PYTHONHOME}

其中關鍵是要將 PYTHONHOME 和 PYTHONPATH 設定成之前給路由器交叉編譯的 python。不設定的話,編譯的時候會用本地的 python 編譯引數,就無法通過編譯了。