您的位置:首页 > 其它

交叉编译rTorrent-0.8.6-arm:mini2440

2013-01-06 16:55 176 查看
背景:

本机环境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!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: