安装交叉编译器 alpha-linux 不使用CrossTools

       因为自己要做Gcc移植,所以首先第一步就是要有交叉编译器,自己根据网上的介绍,尝试自己构造一款交叉编译器。也可以用CrossTool来构造,只是那种方法要用到很多软件包,而且过程很复杂,不易控制。我觉得对于简单需要的交叉编译器可以采用以下方法来构造。如果想使用CrossTool安装可以参考:

http://www.kegel.com/crosstool/current/doc/crosstool-howto.html

http://kegel.com/crosstool/crosstool-0.43/buildlogs/

http://blog.163.com/flaty_star/blog/static/3217480201131315336189/

讲的很详细。

 

我的host环境:Ubuntu10.04  gcc version 4.4.3

 

1.       准备几个软件包

导出变量,以方便下面使用,根据自己的需要修改(MIPS、Arm同样):

$ export TARGET=alpha-linux

$ export PREFIX=/home/wkx/myfile/cross

2.       安装binutils-2.19.1

$ tar xjfv binutils-2.19.1.tar.bz2

$ mkdir binutils-built      // 临时路径,安装完后可删除

$ cd binutils-built

$ ../binutils-2.19.1/configure --target=$TARGET --prefix=$PREFIX

$ make

这时候出错 …/binutils-2.19.1/gac/config/tc-alpha.c error: format not a string literal and no format arguments

     解决办法:找到对应的Makefile(…/binutils-built/gas/Makefile)删除掉-Werror ,避免编译器将warning转换为error

$ make

$ make install

成功。

3.       安装gcc

$ tar –jxvf gcc-4.4.1.tar.bz2 gmp-4.3.2.tar.bz2 mpfr-2.4.2.tar.bz2

$ mv gmp-4.3.2 gcc-4.4.1/gmp

$ mv mpfr-2.4.2 gcc-4.4.1/mpfr

为什么要这么做呢,如果你编译过gcc-4.*以上版本的源码的话,你就知道为什么了。因为GCC now requires the GMP, MPFR and MPC packages. As these packages may not be included in your host distribution, they will be built with GCC.

Unpack each package into the GCC source directory and rename the resulting directories so the GCC build procedures will automatically use them: (把gmp和mpfr解压之后的文件夹改名为gmp和mpfr,然后移动到gcc源码文件夹里面就可以了)。

要不然会在configure时出现一个错误:configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+。

$ mkdir gcc-built    // 临时路径,安装完后可删除

$ cd gcc-built

$ ../gcc-4.4.1/configure --target=$TARGET --prefix=$PREFIX --without-headers --with-gnu-as --with-gnu-ld --enable-languages=c,c++,java

$ make all-gcc (注意,这里是make all-gcc)

$ make install-gcc (注意,这里是make install-gcc)

一路下来,并没有发现错误。

至此交叉编译环境已经基本搭好。

 

如果你要使用新的库的话,还需要继续安装库。(下面是复制别人的,参考:http://www.eetop.cn/blog/html/42/144942-17003.html

编译newlib-1.17.0,

#tar jxvf newlib-1.17.0.tar.bz2

#mkdir build-newlib

#cd build-newlib

#../newlib-1.17.0/configure --target=$TARGET --prefix=$PREFIX

#make all

#make install

=======================================

重新编译gcc,

gcc-4.4.1

#cd build-gcc

#../gcc-4.4.1/configure --target=$TARGET --prefix=$PREFIX --with-newlib --with-gnu-as --with-gnu-ld --disable-shared --disable-libssp

#make all(和前面一次的编译不同,这里是make all)

#make install

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值