锁定老帖子 主题:交叉编译Ruby傻瓜指南
精华帖 (2) :: 良好帖 (3) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-05
最后修改:2009-02-05
最近看到有人在交叉编译ruby的时候似乎碰到了许多问题(http://www.iteye.com/topic/322718
)。其实交叉编译ruby原本应该是很简单的一个过程,希望这个“傻瓜指南”可以让新手也能够轻而易举地进行操作。
交叉编译ruby-1.8.6:
mkdir -p ~/build mkdir -p ~/bin
第2步: 下载交叉编译工具 cd ~/bin wget http://www.codesourcery.com/gnu_toolchains/arm/portal/package3696/public/arm-none-linux-gnueabi/arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 tar -jxvf arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
cd ~/build wget ftp://www.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.bz2 tar -jxvf ruby-1.8.6.tar.bz2
tar -jxvf ruby-configure.patch.tar.bz2 tar -jxvf fakeruby.patch.tar.bz2 cd ruby-1.8.6 patch < ../ruby-configure.patch patch < ../fakeruby.patch
cd ~/build/ruby-1.8.6 export CC=~/bin/arm-2008q3/bin/arm-none-linux-gnueabi-gcc autoreconf mkdir -p /opt/arm-linux-ruby ./configure --host=arm-linux --target=arm-linux --disable-pthread --enable-shared --prefix=/opt/arm-linux-ruby 2>&1 | tee config.out
make 2>&1 | tee make.out make install 2>&1 | tee install.out
交叉编译ruby-1.8.7-p72:
1. 首先,要对codesourcery的交叉编译工具进行一个小改动: 把本文附件fix-compiler.rb.tar.bz2解开,然后运行: ruby fix-compiler.rb ~/bin/arm-2008q3/bin
2. 对ruby源码打补丁时,除了文中提到的两个补丁外,还需打上extmk.patch
3. 在配置1.8.7-p72之前,把交叉工具的路径添入当前路径: export PATH=~/bin/arm-2008q3/bin:$PATH
其余步骤和1.8.6版本一样不再重复。
交叉编译ruby-1.9.1-p0:
基本步骤与交叉编译ruby-1.8.7-p71一样,只是那个extmk.patch不用打了,1.9.1里面已经修正了这个错误。ruby-configure.patch和fakeruby.patch这两个补丁仍然需要打。真不敢相信, setpgrp (被ruby-configure.patch修正) 和fake-ruby(被fakeruby.patch修正) 这两个bug从ruby 1.8.2开始就存在,一直到ruby 1.9都还没被修正
另外还需注意的是,在交叉编译ruby-1.9之前,编译机器上必须先安装ruby-1.9,确保在编译之前ruby -v输出是版本1.9。
----------------------------------- Acknowledgement: 本文采用的'ruby-configure.patch'补丁来自于Debian。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 4002 次