出于需求系统自带的是gcc4.4.7,版本太低无法编译,被逼无奈只能升级gcc了,碰到很多坑,下载这个玩意就用了不少时间。
|
1
2
3
4
5
6
|
[root@VM_222_92_centos
~]#
gcc -vUsing
built-in
specs.Target:
x86_64-redhat-linuxConfigured
with: ../configure
--prefix=/usr
--mandir=/usr/share/man
--infodir=/usr/share/info
--with-bugurl=http://bugzilla.redhat.com/bugzilla
--enable-bootstrap
--enable-shared
--enable-threads=posix
--enable-checking=release
--with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada
--enable-java-awt=gtk
--disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile
--enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linuxThread
model: posixgcc
version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) |
1.下载源码包
|
1
2
|
wget
http: //ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2tar
-jxvf gcc-4.8.0.tar.bz2 |
2.下载编译所需依赖库
|
1
2
3
|
cd
gcc-4.8.0./contrib/download_prerequisitescd
.. |
3.建立编译输出目录
|
1
|
mkdir
gcc-build-4.8.0 |
4.进入此目录,执行以下命令,生成makefile文件
|
1
2
|
cd
gcc-build-4.8.0../gcc-4.8.0/configure
--enable-checking=release
--enable-languages=c,c++
--disable-multilib |
5.编译
|
1
2
|
#
j 后面的是核心数,编译速度会比较快make
-j4 |
6.安装
|
1
|
sudo
make
install |
7.切换GCC到新版
确定新安装的GCC的路径,一般默认在/usr/local/bin下。可以先updatedb,然后locate gcc-4.8|tail找一下
|
1
|
ls
/usr/local/bin
| grep
gcc |
添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了
|
1
|
update-alternatives
--install
/usr/bin/gcc
gcc /usr/local/bin/i686-pc-linux-gnu-gcc
40 |
8.确认当前版本已经切换为新版.
|
1
|
gcc
-v |

现在来说下坑吧,以上的步骤完全不需要画蛇添足,几个步骤不多不少,我之前对第二步进行单独的make,make check,结果悲剧了,各种报错。碰到第二坑就是磁盘问题,上面说系统盘只有8G,编译过程中就报了磁盘不足,刚刚发现这个新服务器的数据盘没有挂载。
挂在部分:
1、查看数据盘
在没有分区和格式化数据盘之前,使用 “df –h”命令,是无法看到数据盘的,可以使用“fdisk -l”命令查看。如下图:

友情提示:若您执行fdisk -l命令,发现没有 /dev/xvdb 标明您的云服务无数据盘,那么您无需进行挂载,此时该教程对您不适用
2、 对数据盘进行分区

执行“fdisk /dev/xvdb”命令,对数据盘进行分区;根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了,很快就会完成。
3、 查看新的分区
使用“fdisk -l”命令可以看到,新的分区xvdb1已经建立完成了。

4、格式化新分区
使用“mkfs.ext3 /dev/xvdb1”命令对新分区进行格式化,格式化的时间根据硬盘大小有所不同。

5、添加分区信息
使用“echo ‘/dev/xvdb1 /mnt ext3 defaults 0 0′ >> /etc/fstab”命令写入新分区信息。
然后使用“cat /etc/fstab”命令查看,出现以下信息就表示写入成功。

6、挂载新分区
使用“mount -a”命令挂载新分区,然后用“df -h”命令查看,出现以下信息就说明挂载成功,可以开始使用新的分区了。

升级GCC至4.8.0
本文详细记录了从旧版本GCC升级到4.8.0的过程,包括下载源码包、安装依赖库、配置编译参数、解决编译过程中遇到的问题等。
1630

被折叠的 条评论
为什么被折叠?



