Linux软件移植configure配置、实战 - 交叉编译Python2.7.15
Linux的开放性、自由性真是太伟大了,打破了计算机操作系统被极少数商业公司垄断、操纵的局面,这也是顺应了自然发展规律的大道。Linux的众多软件也秉承着开放、自由的原则,让我们的世界充满乐趣、异彩纷呈。
随着嵌入式应用的发展,智能硬件、AI系统越来越多地应用到非X86架构计算机系统。Python语言是一门非常流行的编程语言,python英文意为“蟒蛇”,是由荷兰人吉多·范·罗苏姆(Guido van Rossum)于1989年圣诞节期间为了打发无聊而构思、设计(呃,好多计算机世界的神作都是因为无聊而灵光闪现创造的)。
下面,本文以Python-2.7.15交叉编译configure配置、实战,来演示python移植到MIPS架构。同时,向所有开源、自由的Linux创作者们致以崇高的敬意。
一、开发环境
宿主系统:Ubuntu 16.04 LTS x32
目标系统:MIPS32 Linux 3.4.11-rt19
GCC编译器:crosstools-mips-gcc-4.6-linux-3.4-uclibc-0.9.32-binutils-2.21.Rel1.2 (下载链接)
二、移植准备
1、获取python-2.7.15源码、安装依赖库libffi
wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz
sudo apt install libffi-dev libffi6
2、解包、配置
tar -xvJf Python-2.7.15.tar.xz && cd Python-2.7.15/
链接库方式:static
./configure \
ac_cv_have_long_long_format=yes \
ac_cv_file__dev_ptmx=yes \
ac_cv_file__dev_ptc=yes \
ac_cv_working_tzset=yes \
ac_cv_prog_HAS_HG=/bin/false \
ac_cv_prog_SVNVERSION=/bin/false \
--without-cxx-main \
--without-doc-strings \
--with-system-ffi \
--host=mips-linux \
--build=i386 \
--disable-ipv6 \
--enable-optimizations \
--prefix=/usr \
LDFLAGS="-s --static"
三、交叉编译
make && make install DESTDIR=`pwd`/123-mips
四、上板测试