您的位置:首页 > 运维架构 > Linux

Ubuntu下安装arm-linux-gcc-4.4.1.tar.gz (交叉编译环境)

2017-10-28 21:36 489 查看
Ubuntu下安装arm-linux-gcc-4.4.1.tar.gz ,其过程如下:

下载arm-linux-gcc-4.4.1.tar.gz到目录/home/wwf/software下(这个目录根据自己的情况自行建立)。

1.解压文件

执行命令:sudo tar -zxvf arm-linux-gcc-4.4.1.tgz 

2.建立目录

sudo mkdir /usr/local/arm

3.复制文件

sudo cp -r /home/wwf/software/4.4.1 /usr/local/arm

4.添加环境变量
添加环境变量以下一共有三种方法,分别介绍如下:

方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)

执行命令:sudo vim /etc/bash.bashrc

在最后加上 export PATH=$PATH:/home/wwf/software/4.4.1/bin  (路径)(注意等号那边不要有空格)

方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用)
执行命令:sudo vim /etc/profile

增加路径设置,在末尾添加如下:export PATH=$PATH:/usr/local/arm/4.4.3/bin

方法三:修改/etc/environment文件
执行命令:sudo vim /etc/environment

原文件应为 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

将其其改为PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.1/bin"

关于环境变量问题:

环境变量是什么?例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

如果上面不加入环境变量,要运行arm-linux-gcc这个程序,则每次都要把arm-linux-gcc的完整路径写出来。/usr/local/arm/4.4.1/binarm-linux-gcc 文件名 -o 输出文件名

这样非常的麻烦,所以加到path里面,让电脑知道这个程序在哪里。

5.注册环境变量(此步未做,步骤8同样显示安装成功)

立即使新的环境变量生效,不用重启电脑,对应步骤5也有3种方法

方法一:source /root/.bashrc  或者 ./etc/bash.bashrc

方法二:source /etc/profile

方法三:立即生效

6.检查是否将路径加入到PATH(此步未做,步骤8同样显示安装成功)
执行命令:echo $PATH

显示为/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin则说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。

7.测试是否安装成功

方法一:另开一个终端,输入arm-,然后按两下Tab,如果出现下列信息,则表明安装成功

arm-linux-addr2line               arm-none-linux-gnueabi-addr2line

arm-linux-ar                      arm-none-linux-gnueabi-ar

arm-linux-as                      arm-none-linux-gnueabi-as

arm-linux-c++                     arm-none-linux-gnueabi-c++

arm-linux-c++filt                 arm-none-linux-gnueabi-c++filt

arm-linux-cpp                     arm-none-linux-gnueabi-cpp

arm-linux-g++                     arm-none-linux-gnueabi-g++

arm-linux-gcc                     arm-none-linux-gnueabi-gcc

arm-linux-gcc-4.4.1               arm-none-linux-gnueabi-gcc-4.4.1

arm-linux-gcov                    arm-none-linux-gnueabi-gcov

arm-linux-gdb                     arm-none-linux-gnueabi-gdb

arm-linux-gdbtui                  arm-none-linux-gnueabi-gdbtui

arm-linux-gprof                   arm-none-linux-gnueabi-gprof

arm-linux-ld                      arm-none-linux-gnueabi-ld

arm-linux-nm                      arm-none-linux-gnueabi-nm

arm-linux-objcopy                 arm-none-linux-gnueabi-objcopy

arm-linux-objdump                 arm-none-linux-gnueabi-objdump

arm-linux-ranlib                  arm-none-linux-gnueabi-ranlib

arm-linux-readelf                 arm-none-linux-gnueabi-readelf

arm-linux-size                    arm-none-linux-gnueabi-size

--More--

方法二:在终端里输入arm-linux-gcc -v,这个命令会显示arm-linux-gcc信息和版本,如果出现以下信息则表示安装成功

Using built-in specs.

Target: arm-none-linux-gnueabi

Configured with: /scratch/julian/2009q3-respin-linux-lite/src/gcc-4.4/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs
--with-arch=armv5te --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics:
-fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q3-67' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery
--with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr
--with-mpfr=/scratch/julian/2009q3-respin-linux-lite
90cf
/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-ppl=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc
-Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin
--with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin

Thread model: posix

gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) 

注意:如果执行命令:arm-linux-gcc -v 提示:没有那个文件或目录

但的确配置成功,并且可以找到安装的文件目录。

解决办法:

    执行命令:sudo apt-get install lsb-core

安装完成之后,再执行arm-linux-gcc -v输出正常

参考文章:http://www.cnblogs.com/tdyizhen1314/p/4124886.html

          https://wenku.baidu.com/view/b2f231c1376baf1ffd4fad3d.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: