没有合适的资源?快使用搜索试试~ 我知道了~
Python2.5.4移植到arm-linux.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 184 浏览量
2021-11-10
14:18:17
上传
评论
收藏 160KB PDF 举报
温馨提示
试读
16页
Python2.5.4移植到arm-linux.pdf
资源推荐
资源详情
资源评论
Python2.5.4移植到 arm-linux
转载请注明出处:
http://blog.csdn.net/AIXT2006/archive/2009/05/31/4229779.aspx
Ver1.2 by tian 2009-05-31
1 移植需求
需求:在 Arm9 上运行 python2.5.4。
ARM Target 环境:
S3C2410A & arm-linux-2.4.18,和 AT91SAM9261 & arm-linux-2.6.20 。
host编译环境:
RHEL5U3, gcc 4.1.2, arm-linux-gcc 2.95.3,arm-linux-gcc 3.4.4
需要 cross compile的软件包:
sqlite 3.6.14, python 2.5.4, boa-0.94.13.
2 交叉编译 sqlite
先到 http://www.sqlite.org/download.html 下载最新的 sqlite 源代码,我这里
用的是 3.6.14 版本。
推荐使用 amalgamation版本的源代码,这个代码只有几个文件而已,编译
起来方便,而且据说编译器好的话,还可能编译出更高效的代码。 我下载的是
http://www.sqlite.org/sqlite-amalgamation-3.6.14.tar.gz
先运行以下几步:
tar zxf sqlite-amalgamation-3.6.14.tar.gz
cd sqlite-3.6.14
(arm-linux-gcc version 3.4.4: )
./configure --host=arm-linux --prefix=/usr/local/arm/3.4.4
--enable-shared --disable-readline --disable-dynamic-extensions
(arm-linux-gcc version 2.95.3: )
./configure --host=arm-linux --prefix=/usr/local/arm/2.95.3
--enable-shared --disable-readline --disable-dynamic-extensions
以上是把 sqlite 解压缩,然后做一些配置,这里,希望 sqlite 到时候安装到
/usr/local/arm/3.4.4里,要生成动态链接库,不要 readline,不要 sqlite 的动态扩
展。 sqlite 到时候安装到 /usr/local/arm/3.4.4里。
如果要做进文件系统,则作如下设置:
(arm-linux-gcc version 3.4.4: )
./configure --host=arm-linux --prefix=$(pwd)/_install_gcc3
--enable-shared --disable-readline --disable-dynamic-extensions
(arm-linux-gcc version 2.95.3: )
./configure --host=arm-linux --prefix=$(pwd)/_install_gcc2
--enable-shared --disable-readline --disable-dynamic-extensions
然后编辑 Makefile,把 CFLAGS 和 CXXFLAGS 中的-g 去掉,我们不用 debug
sqlite。
接下来就可以编译和安装 sqlite 了:
make
make install
3 交叉编译 python
3.1 下载
先去 http://www.python.org/download/ 下载最新版本的 python 源代码,我这
里下载的是:
http://www.python.org/ftp/python/2.5.4/Python-2.5.4.tgz
3.2 编译并安装 pc版本
交叉编译,也需要 HOST 机上的 python 版本为 2.5.4,执行如下命令:
tar -zxvf Python-2.5.4.gz
cd Python-2.5.4
make clean
./configure --prefix=/usr
make
make install
3.3 编译 pc版本的语法解析器
由于在编译 python 的时候,需要先编译一个叫 pgen的程序出来,用于生成
语法解析器,所以要先生成一个 pc 版本的 pgen:
mkdir build.pc
cd build.pc
../configure
make Parser/pgen
然后 ls Parser一下,应该就能看到有 pgen 了。
3.4 Arm-linux-gcc-3.4.4 版本编译
3.4.1 修改和运行 configure
configure 在检测编译器的 printf 是否支持 %zd 的时候,如果发现是在 cross
compile,就直接不干活了。这还了得?
把这一部分的检测代码去掉。这段代码起始于:
echo "$as_me:$LINENO: checking for %zd printf() format support" >&5
echo $ECHO_N "checking for %zd printf() format support... $ECHO_C" >&6
if test "$cross_compiling" = yes; then
结束于:
cat >>confdefs.h <</_ACEOF
#define PY_FORMAT_SIZE_T "z"
_ACEOF
else
echo "$as_me: program exited with status $ac_status" >&5
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
fi
rm -f core *.core gmon.out bb.out conftest$ac_exeext
conftest.$ac_objext conftest.$ac_ext
fi
把这两段以及中间的内容都删除掉就可以了。
有了语法解析器,就可以开始编译 arm版本的 python 了。
(arm-linux-gcc version 3.4.4: )
cd ..
./configure --prefix=$(pwd)/_install_gcc3 --disable-ipv6
--host=arm-linux --enable-shared
./configure --prefix=/usr/ztian/_install_gcc3 --disable-ipv6
--host=arm-linux --enable-shared
3.4.2 修改 Makefile
之后就要对 Makefile 做一些修改:
(1)把
# OPT= -DNDEBUG -g -O3 -Wall -Wstrict-prototypes
OPT= -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
一行中,去掉 -g,我们不要 debug python,-O3 改为-O2,空间紧张 O2 就可
以了。
(2)在:
剩余15页未读,继续阅读
资源评论
筱筱笎琞
- 粉丝: 9
- 资源: 15万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功