redhat-linux的gcc安装详解---阿冬收集
Posted 阿冬专栏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redhat-linux的gcc安装详解---阿冬收集相关的知识,希望对你有一定的参考价值。
redhat-linux 下安装GCC 非常感谢几位大神朋友:http://blog.sina.com.cn/s/blog_4a515e780100hgvq.html http://wenda.haosou.com/q/1374194350066101 http://blog.chinaunix.net/uid-22889411-id-59452.html http://blog.sina.com.cn/s/blog_6279275701012u2u.html方法(一)
复制以下RPM包到/root/install目录下 glibc-kernheaders-2.4-8.10.i386.rpm
glibc-devel-2.3.2-11.9.i386.rpm cpp-3.2.2-5.i386.rpm
binutils-2.13.90.0.18-9.i386.rpm
gcc-3.2.2-5.i386.rpm
以上文件可以在 安装盘中找到
安装顺序 rpm -ivh glibc-kernheaders-2.4-8.10.i386.rpm rpm -ivh glibc-devel-2.3.2-11.9.i386.rpm rpm -ivh cpp-3.2.2-5.i386.rpm
rpm -ivh binutils-2.13.90.0.18-9.i386.rpm
rpm -ivh gcc-3.2.2-5.i386.rpm ------------------------------------------- 1.GCC 在你的LIUNX 安装盘里面就有一个RPM包的.你可以找到装一下就行啦.
2. 先看看是不是没有GCC的问题一般默认都会装GCC的,编译少不了要用的肯定会用到,而且一般都是RPM包的,不可能要你再去下嘛,比如,(你LINUX都没有GCC再去下个要编译的GCC你怎么装...)
3. 查看GCC的包有没有装命令:rpm -qa | grep gcc
有的话就不是GCC的问题啦,区分大小写不用我说吧..我也忘了大写还是小写了你试试吧.
4. 如果真是没有GCC的话,只有两个办法,一用LINUX光盘里的RPM包装, 二就去下一个RPM包的GCC ,
我讲一下光盘里装的命令哈.
因为你是用的redhat5所以路径会不一样,我这里就手机给个挂载路径.
注: 看你的LINUX是几张盘的.最好是一张,一次就能找到.
如果有五张或四张盘你就要从复做四次,明白,找到为止.
1)mount /dev/cdrom /home 我把他放在home下.
2)find /home/RedHat/RPMS/ | grep gcc 注意大小写哈.这样如果有的话下面就会出/home/RedHat/RPMS/gcc.XXXX 它的全名,和版本信息.装包要输入全名的.一般输入前面几个就按tab键就出来啦.
3)rpm -ivh /home/RedHat/RPMS/gcc(按tab或你对着名字打全)
就OK啦,这是说你第一张盘就放对的情况下.如果没有,就换张盘继续找.
缺载光盘的命令umount /dev/cdrom
方法(二)
方法(三)
在嵌入式开发中我们经常会用到arm-linux-gcc来编译我们的应用程序。作为arm-linux-gcc的入门,我们先看看如何安装arm-linux-gcc。
安装arm-linux-gcc还是比较简单的,我们看看Redhat9.0下的安装步骤吧。
1、将arm-linux-gcc的压缩包arm-linux-gcc-2.95.3.tar.gz解压缩;
2、将路径usr/local下的arm目录拷贝到你自己系统的/usr/local下;
3、vi /etc/profile;在出现pathmunge 的语句段后添加pathmunge /usr/local/arm/2.95.3(版本号)/bin;
4、保存对profile的修改后,执行source /etc/profile就OK了
之后你就可以用arm-linux-gcc来编译你的程序了,你也可以尝试一下哟。
arm-linux-gcc3.4.4交叉编译制作笔记
2008-08-17 16:48
1. Linux下工作用户及环境
Linux version 2.6.9-22.EL (bhcompile@porky.build.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 Mon Sep 19 18:20:28 EDT 2005
2. 设置环境变量,准备源码及相关补丁
2.1 设置环境变量
[xxxx@ ~]$ vi ~/.bashrc
export PATH=$PATH:/usr/local/arm/3.4.4/bin
【注意】如果你已经安装过arm-linux-gcc,并且已经加入了环境变量中,将其从环境中去掉保证root用户和xxxx用户环境中没有arm-linux-gcc
[xxxx@ ~]$ mkdir ctools
将准备好的源码及补丁存放在文件夹ctools中。
2.2 准备源码包
2.2.1 binutils 名称:binutils-2.16.tar.gz
下载地址:http://ftp.gnu.org/gnu/binutils/binutils-2.16.tar.gz
2.2.2 gcc 名称: gcc-3.4.4.tar.bz2
下载地址: http://ftp.gnu.org/gnu/gcc/gcc-3.4.4/gcc-3.4.4.tar.bz2
2.2.3 glibc 名称: glibc-2.3.5.tar.gz和glibc-linuxthreads-2.3.5.tar.gz
下载地址: http://ftp.gnu.org/gnu/glibc/glibc-2.3.5.tar.gz
http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.5.tar.gz
2.2.4 linux kernel 名称: linux-2.6.14.1.tar.bz2
下载地址: http://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.1.tar.bz2
2.2.5 gdb 名称: gdb-6.4.tar.gz
下载地址: http://ftp.gnu.org/pub/gnu/gdb/gdb-6.4.tar.gz
2.3 准备补丁
2.3.1 ioperm.c.diff
作用: 打修正ioperm()函数
下载地址: http://frank.harvard.edu/~coldwell/toolchain/ioperm.c.diff
2.3.2 flow.c.diff
作用: 修改gcc一处bug
下载地址: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.563.4.2&r2=1.563.4.32.3.3 t-linux.diff
作用: 该补丁用于产生crti.o和crtn.o文件.
下载地址: http://frank.harvard.edu/~coldwell/toolchain/t-linux.diff
2.4 编译GNU binutils
[xxxx@ ~]$ cd ctools
[xxxx@ ctools]$ mkdir BUILD
[xxxx@ ctools]$ tree -L 1
|-- BUILD
|-- binutils-2.16
|-- binutils-2.16.tar.gz
|-- flow.c.diff
|-- gcc-3.4.4
|-- gcc-3.4.4.tar.bz2
|-- gdb-6.4.tar.gz
|-- glibc-2.3.5
|-- glibc-2.3.5.tar.gz
|-- glibc-linuxthreads-2.3.5.tar.gz
|-- ioperm.c.diff
|-- linux-2.6.14.1.tar.bz2
`-- t-linux.diff
[xxxx@ ctools]$ tar zxvf binutils-2.16.tar.gz
[xxxx@ ctools]$ mkdir -p BUILD/binutils-2.16
[xxxx@ ctools]$ cd BUILD/binutils-2.16
[xxxx@ binutils-2.16]$ ../../binutils-2.16/configure --prefix=/usr/local/arm/3.4.4 --target=arm-linux --with-sysroot=/usr/local/arm/3.4.4/sysroot
[xxxx@ binutils-2.16]$ make
[xxxx@ binutils-2.16]$ su -m
[root@ binutils-2.16]# make install
[root@ binutils-2.16]# exit
[xxxx@ binutils-2.16]$
2.5 准备内核头文件
2.5.1 使用当前平台的gcc编译内核头文件
[xxxx@ binutils-2.16]$ cd ../../
[xxxx@ ctools]$
[xxxx@ ctools]$ tar jxvf ../btools/tchain3.4.4/linux-2.6.14.1.tar.bz2
[xxxx@ ctools]$ cd linux-2.6.14.1/
[xxxx@ linux-2.6.14.1]$ cp arch/arm/configs/smdk2410_defconfig .config
选择了一个配置文件smdk2410_defconfig,你可以根据你的需要选择
[xxxx@ linux-2.6.14.1]$ make ARCH=arm menuconfig