现在的位置: 首页 > 综合 > 正文

交叉编译rTorrent-0.8.6-arm:mini2440

2014年09月09日 ⁄ 综合 ⁄ 共 2097字 ⁄ 字号 评论关闭

背景:
本机环境Ubuntu8.4 目标板mini2440
环境变量已经导入/opt/FriendlyARM/toolschain/4.4.3/bin/

openssl-0.9.8g
1 ./Configure no-asm  os/compiler:arm-linux-gcc
2 make && make install

libsigc++-2.2.4
libsigc++-2.2.4依赖于m4-1.4.16
./configure CC=arm-linux-gcc --build=i386-linux --host=arm-linux CXX=arm-linux-c++
make
make install

libsigc++-2.2.4 
1 ./configure --host=arm-linux --with-shared --with-normal CC=arm-linux-gcc LD=arm-linux-ld CXX=arm-linux-g++ --prefix=/home/wrr/install
2 make  && make install
libsigc++-2.2.4依赖于m4-1.4.16
./configure CC=arm-linux-gcc --build=i386-linux --host=arm-linux CXX=arm-linux-c++
make
make install

ncurses-5.8
1 ./configure --host=arm-linux --with-shared --with-normal CC=arm-linux-gcc LD=arm-linux-ld CXX=arm-linux-g++ --with-build-cc=gcc --prefix=/home/wrr/install
2 make  && make install
这一句很重要"--with-build-cc=gcc" gcc会生成一个在本机运行的tic程序,而不是板子上的,如果没有这句,会生成arm下的tic。安装的时候会提示tic不能运行。 

这一步检查本机pkg-config
检查PKG_CONFIG_CONFIG_PATH和PKG_CONFIG两个环境变量
因为我们前面的库安装于/home/wrr/install
export PKG_CONFIG_PATH=/home/wrr/install/lib/pkgconfig
export PKG_CONFIG=/usr/bin/pkg-config
pkg-config --list-all 打印所有可用的库。
其中必须有
sigc++-2.0
libncurses  
libcrypto 
libssl
如果没有,别往下干了。
libtorrent和rTorrent出自一家,因此configure和make风格也一样。都依赖于pkg-config.因此要在这里设置好。

libtorrent-0.12.6(依赖openssl libsigc)
1 删掉14777到14811行,如果不删掉执行下面这句会提示cannot run test program while cross compiling并且退出
具体来说就是从"if test "$cross_compiling" = yes; then :"
到下面第二个fi,注意if和fi一定要确定成对的删,具体提示原因我不知道。也没看。脚本文件太难懂了。下面的rtorrent-0.8.6 configure时也会有这样的提示。我也找到并删除。
好在工作量并不大。各自仅有一个。
1 ./configure --host=arm-linux --prefix=/home/wrr/install OPENSSL_CFLAGS=-I/home/wrr/install/openssl-0.9.8b/include OPENSSL_LIBS=-L/home/wrr/install/openssl-0.9.8b/lib STUFF_CFLAGS="-I/home/wrr/install/include/sigc++-2.0 -I/home/wrr/install/lib/sigc++-2.0/include"
STUFF_LIBS="-L/home/wrr/install/lib -lsigc-2.0" 
3 make && make install

rtorrent-0.8.6
1 执行步骤2并根据config.log文件找到cannot run test program while cross compiling所在位置。同样删掉。
2 ./configure --host=arm-linux --prefix=/home/wrr/install/rTorrent CPPFLAGS=-I/home/wrr/install/include/ncurses LIBS="-L/home/wrr/install/lib -lncurses"
--disable-largefile
3 make && make install

生成的rtorrent是debug版的,达到11M。如果你愿意也可以删掉调试信息
arm-linux-strip -g rtorrent
删掉后只剩1M多。

enjoy it!

抱歉!评论已关闭.