Chinaunix首页 | 论坛 | 博客
  • 博客访问: 43187
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 132
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-18 14:49
个人简介

文章分类
文章存档

2013年(7)

我的朋友

分类: LINUX

2013-07-18 16:30:23

CentOS 安装光盘自带 gcc 版本为 4.4.7。

最新的一些应用的源代码编译时候会报告gcc 版本过低,所以需要升级到最新 gcc。

1,必备软件:
  • gcc,g++;可以用 yum install 安装,但是yum安装目前最高版本是4.4.7。
  • 如果CentOS安装选择64位系统,还需要32位glibc,也可用yum install 安装。

2,下载gcc 和关联库的源码包:

  •  地址: ftp://gcc.gnu.org/pub/gcc/releases ,选择包之后,用wget下载。
  • 关联包:ftp://gcc.gnu.org/pub/gcc/infrastructure/    
    • mpc
    • mpfr
    • gmp
    • isl
    • cloog
3,编译安装关联库:mpc, mpfr, gmp, isl, cloog。
        ./configure
        make
        make check

        make install
      关联库编译安装完成之后在/usr/local/lib下会生成库文件。在/usr/local/include下会生成.h文件。

4,创建 gcc 编译和安装目录
         $ mkdir objdir                                       #编译运行目录
         $ mkdir /usr/local/gcc-4.8.1                   #编译后头文件存放目录
         $ mkdir /usr/local/gcc                            #编译后bin+lib存放目录

5,开始编译
     $ gcc_src_path/configure                               #在上面创建的objdir目录执行,切忌在gcc源代码目录执行。
          --prefix=/usr/local/gcc-4.8.1
          --exec-prefix=/usr/local/gcc
          --with-gmp=/usr/local
          --with-mpfr=/usr/local
          --with-mpc=/usr/local
          --with-cloog=/usr/local
          --with-isl=/usr/local
          --disable-isl-version-check             #gcc-4.8.1 的isl库版本检测程序有bug,无法正确判断isl版本0.11.1
          --enable-threads=posix
          --enable-languages=c,c++
      完成之后make
      然后 su
      最后 make install

6,关于isl版本检测
      gcc 源码目录下 configure.ac 和 config/isl.m4 文件对 isl 版本判断有bug,只能支持2个字段版本号。需要加入第3个字段。

     
      
      在 configure 时候,可以用 disable-isl-version-check 跳过版本检测。

7,配置后续工作
    # 将 gcc/g++ 改名
    $ mv /usr/bin/gcc /usr/bin/gcc-4.4.7
    $ mv /usr/bin/g++ /usr/bin/g++-4.4.7

   
     在/etc/profile.d下创建  custom.sh ,写入环境变量参数。
     export PATH=/usr/local/gcc/bin:$PATH
     export LD_LIBRARY_PATH=/usr/local/lib                     # 可以根据需要加入其他lib搜索目录,/usr/local/gcc/lib 等。
     export C_INCLUDE_PATH=/usr/include
     export CPLUS_INCLUDE_PATH=/usr/include/c++/4.8.1:/usr/include/c++/4.8.1/x86_64-unknown-linux-gnu    
   ln -s /usr/local/gcc-4.8.1/include/c++/4.8.1 /usr/include/c++/4.8.1 # 在 include/c++ 文件夹下添加最新的 c++ 4.8.1 版本(这是个符号链接);

8,测试 helloworld.c


9,参考:

%E4%B8%8B%E5%AE%89%E8%A3%85gcc-481


阅读(6779) | 评论(1) | 转发(1) |
0

上一篇:没有了

下一篇:Linux 安装及基本文件系统环境配置

给主人留下些什么吧!~~

鱼门客栈2013-07-19 09:11:26

不错不错 学习了  期待更多的博文~