背景:1、在做文本挖掘的时候,安装“结巴”算法包,需要gcc版本>4.6,但是不知道是不是有内核或其他东西是gcc低版本支持的,只好安装多版本;
2、linux版本:Red Hat Enterprise Linux Server release 6.2 (Santiago);
3、之前gcc版本4.4.6;新安装并存的gcc版本是4.8.3;
4、账户没有root权限,但是可以使用sudo(sudo免密码)命令;
5、因为平台数据保密性,不能连接外网,只能离线安装;(连网自动下载或者更新也会变得简单一点)
6、自己编译配置gcc;(也可以安装编译好的,一切都会变得超简单了http://www.rpmfind.net/linux/rpm2html/search.php?query=gcc)

操作过程:一、下载gcc:
在官网http://gcc.gnu.org/,有版本变化内容和说明文档,在右侧有镜像下载连接。最近的版本是gcc 5.1,综合考虑版本更新和稳定性,最终选择了gcc-4.8.3.tar.gz安装;
二、下载依赖库:一共五个,缺一不可
(make一次将近一个小时,最后报个缺依赖库的错,我能说都是泪吗。网上很多只列了三个依赖库真是坑。)
GMP
MPFR
MPC
ISL
CLOOG
根据linux版本和gcc版本选择合适的依赖库版本,一般都没问题,我选择了:
gmp-4.3.2.tar.bz2、mpfr-2.4.2.tar.bz2、mpc-0.8.1.tar.gz、isl-0.12.2.tar.bz2、cloog-0.18.1.tar.gz

     三、安装依赖库:1、注意安装顺序:最先安装GMP,然后装MPFR,再装MPC。因为MPFR依赖于GMP;MPC依赖于GMP和MPFR。ISL要在GMP之后,再安装,也是因为依赖的关系,ISL依赖GMP。CLOOG在GMP和ISL之后安装。2、具体安装方法:1)解压 ——>生成源目录${srcdir}:tar -xjvf  gmp-4.3.2.tar.bz2tar -xjvf  mpfr-2.4.2.tar.bz2tar -xzvf  mpc-0.8.1.tar.gztar -xjvf  isl-0.12.2.tar.bz2tar -xzvf  cloog-0.18.1.tar.gz生成源目录${srcdir}:gmp-4.3.2mpfr-2.4.2mpc-0.8.1isl-0.12.2cloog-0.18.1                 2)建立目标目录${objdir}:(在这个目录下配置和编译,和${srcdir}根目录相同)mkdir gmp_buildmkdir mpfr_buildmkdir mpc_buildmkdir isl_buildmkdir cloog_build3)建立安装目录${destdir}:(编译好的文件会存在这个路径下,我都放在/usr/local下了)mkdir /usr/local/mpfr2.4.2mkdir /usr/local/mpc0.8.1mkdir /usr/local/gmp4.3.2mkdir /usr/local/isl0.12.2mkdir /usr/local/cloog0.18.14)配置、编译和安装依赖库:配置和编译每个依赖库的过程都是在各自目标目录{objdir}下进行:A  配置、编译和安装 gmp:a.1、配置gmp:(在gmp_build下)../gmp-4.3.2/configure --prefix=/usr/local/gmp4.3.2 --enable-shareda.2、编译gmp:(在gmp_build下)makea.3、检核:make checka.4、安装:make installB  配置、编译和安装 MPFR:步骤同上,注意路径,主要是配置过程不同:../mpfr-2.4.2/configure --prefix=/usr/local/mpfr2.4.2 --with-gmp=/usr/local/gmp4.3.2C  配置、编译和安装 MPC:步骤同上,注意路径,主要是配置过程不同:../mpc-0.8.1/configure --prefix=/usr/local/mpc0.8.1 --with-gmp=/usr/local/gmp4.3.2 --with-mpfr=/usr/local/mpfr2.4.2D  配置、编译和安装 ISL:步骤同上,注意路径,主要是配置过程不同:      ../isl-0.12.2/configure --prefix=/usr/local/isl0.12.2  --with-gmp-prefix=/usr/local/gmp4.3.2/ E  配置、编译和安装 CLOOG:步骤同上,注意路径,主要是配置过程不同:      ../isl-0.12.2/configure  --prefix=/usr/local/cloog0.18.1 --prefix=/usr/local/isl0.12.2  --with-gmp-prefix=/usr/local/gmp4.3.2/ --enable-static四、安装gcc:1、解压:gcc:tar -xzvf  gcc-4.8.3.tar.gz2、建立目标目录${objdir}:mkdir gcc_8.4.3_build3、建立安装目录${destdir}:mkdir /usr/local/gcc8.4.34、配置:在${objdir}下:A、先设置library、c_include和c++_include的路径:

export LD_LIBRARY_PATH=/usr/local/gmp4.3.2/lib:/usr/local/mpfr2.4.2/lib:/usr/local/mpc0.8.1/lib:/usr/local/isl0.12.2/lib:/usr/local/cloog0.18.1/lib
export C_INCLUDE_PATH=/usr/local/gmp4.3.2/include:/usr/local/mpfr2.4.2/include:/usr/local/mpc0.8.1/include:/usr/local/isl0.12.2/include:/usr/local/cloog0.18.1/include
export CPLUS_INCLUDE_PATH=/usr/local/gmp4.3.2/include:/usr/local/mpfr2.4.2/include:/usr/local/mpc0.8.1/include:/usr/local/isl0.12.2/include:/usr/local/cloog0.18.1/include

        B、再configure(主要设置是否需要check、是否shared、multilib、再后面是一串依赖库、支持的语言)../gcc-4.8.3/configure --disable-checking --enable-shared --enable-static  --disable-multilib  --prefix=/usr/local/gcc4.8.3  --with-isl-include=/usr/local/isl0.12.2/include --with-isl-lib=/usr/local/isl0.12.2/lib    --enable-languages=c,c++  --with-gmp=/usr/local/gmp4.3.2 --with-mpfr=/usr/local/mpfr2.4.2 --with-mpc=/usr/local/mpc0.8.1 --with-cloog=/usr/local/cloog0.18.15、编译:make(需要一个多小时,就这在这里差点被虐哭)注意:如果在这里make之后报错,重复上述步骤之前,要先清空make错误的内容:make clean(或者sudo make distclean)禁止了静态库的情况下可以安装成功,但是enable了静态库,还是报错?????报错内容:configure: loading cache ./config.cacheconfigure: error: `LDFLAGS' has changed since the previous run:configure:   former value:  ` 'configure:   current value: `-static-libstdc++ -static-libgcc 'configure: error: in `/data/hadoop/gcc_4.8_build/fixincludes':configure: error: changes in the environment can compromise the buildconfigure: error: run `make distclean' and/or `rm ./config.cache' and start overmake[1]: *** [configure-fixincludes] 错误 1make[1]: Leaving directory `/data/hadoop/gcc_4.8_build'6、安装:make install四、多版本gcc共存设置:1、查看旧版本gcc路径:which gcc     (查看结果是/usr/bin/gcc)2、重命名旧版本的文件名(需要root权限)sudo mv gcc gcc4.6.43、将新版本的gcc4.8.3指向gcccd /usr/binsudo ln -s /usr/local/gcc4.8.3/bin/gcc gccsudo ln -s /usr/local/gcc4.8.3/bin/g++ g++

部分内容参考:GCC介绍:https://gcc.gnu.org/wiki/InstallingGCC
ISL介绍:https://www.cs.colostate.edu/wiki/ISL:_Integer_Set_Library
http://stackoverflow.com/questions/9450394/how-to-install-gcc-from-scratch-with-gmp-mpfr-mpc-elf-without-shared-librari
http://blog.sina.com.cn/s/blog_4900f3fb0100jk86.html
https://gcc.gnu.org/wiki/FAQ#Configuration_fails_with_.27.27configure:_error:_cannot_compute_suffix_of_object_files:_cannot_compile.27.27._What_is_the_problem.3F

rm -R stage_final

转载于:https://www.cnblogs.com/alisonzhu/p/4506722.html

linux下安装gcc及设置多版本gcc多版本共存(如果enable静态库,会报错,不知道为什么,忽略静态库就没问题了)...相关推荐

  1. linux配置redis服务,Linux下安装Redis并设置相关服务

    一.简介 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使 ...

  2. Linux下安装jboss并设置自启动服务

    jboss不用运行安装,直接解压zip即可(这里使用的是jboss-4.2.3.GA.zip),命令为unzip jboss-4.2.3.GA.zip.这里使用的jboss版本是jboss-4.2.3 ...

  3. [Linux基础环境/软件]Linux下安装resin web服务器(涉及gcc、jdk环境部署)

    由于Ubuntu自带是没有jdk和gcc编译器的,而安装resin需要C编译器和jdk的支持,而且resin本身是java写的.另外我本身的网站是zip打包的,所以linux也要安装了gcc.jdk. ...

  4. 使用oracle安装jdk1.7,【Java】Linux下安装配置Oracle JDK 1.7版本

    1 环境 Vmware虚拟机中的Ubuntu 12.04 32位系统 2具体安装步骤 ①下载最新的jdk包 注意jdk区分32位版本和64位版本,要与Ubuntu兼容才行 下载地址 http://ww ...

  5. linux怎么编译并安装busybox,linux下安装busybox

    1.获取busybox源码并解压,这里使用天嵌提供的"busybox-1.16.0.tar.bz2" #tar xvf busybox-1.16..tar.bz2 -C / 解压的 ...

  6. linux blender骨骼绑定,Linux下安装Blender

    Blender在Windows下,可以在官方直接下载免安装的版本,下载解压缩就能用. 在Linux下稍微麻烦一点点. 如下3步安装的blender不一定是最新版本,且安装完成后发现设置中文会变为方块. ...

  7. wsock32 linux,在linux下安装并使用websocket

    前言 首先,对websocket要有一个简要的了解与认识 websocket是HTML5开始提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议. 它基于TCP传输协议,并复用HTTP的握 ...

  8. Linux下安装Redis及搭建主从

    Linux下安装Redis 首先在官网下载对应版本的redis包,这里本人使用的是redis-4.0.8.tar.gz.   然后在服务器中存放redis包的路径下执行tar –vxf redis-4 ...

  9. python导入requests库一直报错原因总结_python pip 安装库文件报错:pip install ImportError: No module named _internal...

    centos6,python3,通过pip安装pycurl出现报错提示 Centos6.7系统,python3.6.7,通过 pip 安装pycurl出现报错: __main__.Configurat ...

  10. 织梦linux php版本,Linux下安装DedeCMS及安全设置

    Linux下安装DedeCMS及安全设置 织梦无忧 2018-12-09 20:40 摘要: 随着Linux服务器应用范围越来越广泛,国内很多站长也开始使用它作为自己的Web服务器,本篇就来介绍如何在 ...

最新文章

  1. Microsoft.NET框架程序设计--20 CLR寄宿、应用程序域、反射
  2. Googlequot;员工quot;曝内幕:Google员工的17个秘密
  3. 网页html是什么语言程序,html是什么
  4. CIO时代客户交流会,强强联合共筑电子政务美好未来
  5. testng查看覆盖率_使用Cobertura统计单元测试覆盖率
  6. java 四元一次方程_JAVA编写求解一元多次方程的程序,要求如下:
  7. 云计算实战系列五(Linux文件权限II)
  8. 软件设计师18-系统开发和运行01
  9. Agile Framework的专区上线
  10. 堆栈callstack打印
  11. AWVS下载、安装步骤教程
  12. android手机进入动画,安卓用户必读,如何进入手机开发者模式,以及你必用的功能!...
  13. word里双横线怎么打_word 双下横线怎么打出来
  14. 如何利用云流送(Cloud Streaming)构造一个全三维、沉浸式的数字化虚拟景区
  15. 再见2021,2022加油
  16. Python中最强大的错误重试库
  17. [英语阅读]你的英文名特别吗
  18. 【FLASH存储器系列十二】Nand Flash芯片使用指导之二
  19. NFS导致df -h卡主解决
  20. 完成英语第一阶段的学习,明天开始第二阶段

热门文章

  1. 产品经理该如何做竞品分析
  2. common-jdbc:一个基于SpringJdbcTemplate的高性能数据库操作工具类库
  3. linux内核sysfs详解【转】
  4. MySQL的主从复制与读写分离技术实例(一)主从复制
  5. ACL in 和 out
  6. SharePoint2013的头像显示和读取
  7. JsonHelper Json转xml,Json转DataSet,DataSet转Json
  8. mysql5.6主从复制与基于amoeba实现读写分离
  9. 【重点】LeetCode 124. Binary Tree Maximum Path Sum
  10. 【前端】创建元素并插入到现有文档