zoukankan      html  css  js  c++  java
  • 编译AVX代码,升级Redhat 5.5 GCC至4.7.1

        Redhat 的GCC编译器4.1版本号,为SSE4,AVX,AVX2支持不够好,官方建议4.7以上。

    就这样开始了GCC升级之路。

        因为Redhat 5.5它安装在一个虚拟机。全然解决,经过若干尝试,以下过程可行。

        主要參考例如以下:

    http://blog.sciencenet.cn/blog-714229-600604.html

    http://blog.sciencenet.cn/blog-714229-600389.html

    http://blog.rekfan.com/articles/13.html

        

        GCC下载源:http://ftp.gnu.org/gnu/gcc/

         yum(注冊)下载源:http://mirror.centos.org/centos-5/5.10/os/x86_64/CentOS/


          一、安装GCC的依赖库

    (1)install gmp
          下载gmp: http://gmplib.org/
           # mkdir -p /opt/gmp-4.3.2
        #tar -jxvf gmp-4.3.2.tar.bz2
        #cd gmp-4.3.2
        #./configure --prefix=/opt/gmp-4.3.2
        #make && make check && make install
    (2)install mpfr
      下载mpfr http://www.mpfr.org/mpfr-current/#download
         #mkdir -p /opt/mpfr-2.4.2
        #tar -jxvf mpfr-2.4.2.tar.bz2
        #cd mpfr-2.4.2
        #./configure --prefix=/opt/mpfr-2.4.2 --with-gmp=/opt/gmp-4.3.2
        #make && make check && make install
    (3)install mpc
         下载 http://www.multiprecision.org/index.php?prog=mpc&page=download
    #mkdir -p /opt/mpc-0.8.1
        #tar -zxvf mpc-0.8.1.tar.gz
        #cd mpc-0.8.1
        #./configure --prefix=/opt/mpc-0.8.1 --with-gmp=/opt/gmp-4.3.2 --with-mpfr=/opt/mpfr-2.4.2
        #make && make check && make install
    (4) build gcc
        #export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gmp-4.3.2/lib:/opt/mpfr-2.4.2/lib:/opt/mpc-0.8.1/lib

    二、使用Yum安装 guile

    (1)  卸载rhel的默认安装的yum包
    查看yum包
    rpm -qa|grep yum
    卸载之
    rpm -qa|grep yum|xargs rpm -e --nodeps


    (2)  下载新的yum包
    64位linux系统下载安装包
    wget http://mirror.centos.org/centos-5/5.10/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
    wget http://mirror.centos.org/centos-5/5.10/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
    wget http://mirror.centos.org/centos-5/5.10/os/x86_64/CentOS/yum-metadata-parser-1.1.2-4.el5.x86_64.rpm



    然后进行安装
    rpm -ivh yum-*
    注意:yum和yum-fastestmirror相互依赖,所以同一时候安装就可以。
    (3)  下载yum的配置源
    wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo 下载到 /etc/yum.repos.d/ 文件夹以下


    (4)   执行yum makecache生成缓存


    (5)  yum install guile 


    三、install autogen

         安装过程中可能缺少libxml2-devel, guile-devel, 使用yum install xx 进行升级就可以


        下载  http://rpm.pbone.net/index.php3/stat/26/dist/55/size/1314516/name/autogen-5.8.9-1.el5.kb.src.rpm
       .src.rpm 安装方法
        #rpm -i you-package.src.rpm 
        #cd /usr/src/redhat/SPECS (前两步和方法一同样) 
      # rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件

      这时,在/usr/src/redhat/RPM/i386/ (依据详细包的不同,也可能是i686,noarch等等) 在这个文件夹下,有一个新的rpm 包,这个是编译好的二进制文件。运行:

     #rpm -i new-package.rpm就可以安装完毕。引用 http://blog.csdn.net/lphpc/article/details/565823


    四、安装GCC4.7

    (1)# mkdir -p /opt/gcc-4.7
             #mkdir gcc_build  (在GCC源代码文件夹下)

      (2)  ../configure --prefix=/opt/gcc-4.7 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++ --with-gmp=/opt/gmp-4.3.2 --with-mpfr=/opt/mpfr-2.4.2 --with-mpc=/opt/mpc-0.8.1

       (3)  成功后,产生Makefile文件,然后直接make,ok-----等待-----

    (4) make install

    若想又一次编译 make clean 清除上次编译遗留下的文件

    uninstallation 

    若旧版本号是 rpm版的。查看版本号号 gcc --version 然后 rpm -e 删除了

    若旧版是用源代码安装的,whereis gcc 或者 which gcc 来查看所在路径,删除就可以

    接着设置工具链:

    命令文件符号连接到 /usr/bin 文件夹下:

    1. #  cd /usr/bin

    2. #  ln -sv /usr/local/gcc-4.7.1/bin/gcc gcc  (假设出现反复。直接删除原始gcc就可以)

    3. #  ln -sv /usr/local/gcc-4.7.1/bin/g++ g++


    库文件设置:

    将/usr/local/gcc-4.7.1/lib 路径加入到环境变量LD_LIBRARY_PATH中

    1. #vi /etc/profile

    加入下列代码

    setenv LD_LIBRARY_PATH  /usr/local/gcc-4.7.1/lib:$LD_LIBRARY_PATH

    清理现场

    1. # rm -rf gcc-4.7.1

    2. # rm -rf gcc-b 

     到此安装完成
    能足够 使用 gcc -v 观点4.7.1的版本号不


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    无法卸载Visual Studio 2005,提示:"H:\vs\vs_setup.msi could not be opened"
    在两个DB的table之间同步数据
    用于标记系统是否需要重启动的注册表键值
    提高性能——存储过程最佳实践 [译自MSDN]
    几个常见的位运算问题
    [存档] 非递归后根遍历二叉树
    [存档] 用真值表设计非递归二叉树遍历算法
    补码
    卸载Google Chrome导致Outlook, Word不能打开超链接
    编程题: 将一个矩阵(二维数组)顺时针旋转90度
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4639382.html
Copyright © 2011-2022 走看看