软件包的gcc版本GCC是什么认证意思?

依旧是那个老生常谈的问题,Cent OS上的软件包大都很老,比如常用的Gcc,在最新的Cent OS 7.4上,gcc的版本才到4.8.5,虽说一味追求新版并无大用,但是有些特性老版本不支持啊,很坑的有木有。下面记录一下安装过程。描述系统为Cent OS7.4,全新安装,更新全部软件至最新版。安装准备12yum update -yyum install gcc gcc-c++ gcc-gnat zlib-devel glibc-devel glibc-devel.i686 libgcc libgcc.i686 -y安装 glibc-devel.i686 是为了安装32位的头文件和库,否则在配置的时候就会出现下面的错误1configure: error: I suspect your system does not have 32-bit developement libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.网络上清一色的叫你加入参数--disable-multilib,然而,这样的话就少了32位的支持了。动手1234567wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gztar -zxf gcc-7.3.0.tar.gzcd gcc-7.3.0./contrib/download_prerequisitesmkdir builddir && cd builddir../configuremake && sudo make install编译过程长达数个小时,具体要多长时间得看RP了,可以用tmux把它放在后台。需要配置的地方非常少,安装过程也没什么特殊的,但是以前安装gcc的时候随便报个错就一脸懵逼,需要注意的是在./contrib/download_prerequisites之后,会有执行成功的提示,log如下1234567892018-04-16 16:37:22 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 [2383840] -> "./gmp-6.1.0.tar.bz2" [1]2018-04-16 16:37:28 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 [1279284] -> "./mpfr-3.1.4.tar.bz2" [1]2018-04-16 16:37:33 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [669925] -> "./mpc-1.0.3.tar.gz" [1]2018-04-16 16:37:39 URL: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2 [1626446] -> "./isl-0.16.1.tar.bz2" [1]gmp-6.1.0.tar.bz2: OKmpfr-3.1.4.tar.bz2: OKmpc-1.0.3.tar.gz: OKisl-0.16.1.tar.bz2: OKAll prerequisites downloaded successfully.这个步骤是有可能因为网络原因出问题的,这个步骤可以把安装gcc需要的四个依赖包弄好,网络上的某些教程是让你手动安装依赖,比如这个https://www.cnblogs.com/freeweb/p/5990860.html,操作越多越容易出错。另外,配置同样是需要考虑的地方,大多数时候直接执行./configure就过去了,我用了下面的配置参数1../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-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux选择这个参数并没有什么非常实在的原因,里面很多参数我并不清楚是干嘛的,使用这个参数纯粹是因为Cent OS用yum安装的gcc的配置参数是这个。安装gdb在某些情况下,升级了gcc是需要同步升级gdb的,虽然不清楚是否有具体的版本对应关系,但是傻fufu的安装最新版就是了123456wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gdb/gdb-8.1.tar.gztar -zxf gdb-8.1.tar.gzcd gdb-8.1mkdir builddir && cd builddir../configuremake && make install碎碎念有可能在执行make install的时候报错(内心PS,都已经编译好了,你给我在安装的时候报错(ノ`Д)ノ)报错信息如下:1234567891011121314151617181920WARNING: 'makeinfo' is missing on your system.You should only need it if you modified a '.texi' file, orany other file indirectly affecting the aspect of the manual.You might want to install the Texinfo package:The spurious makeinfo call might also be the consequence ofusing a buggy 'make' (AIX, DU, IRIX), in which case you mightwant to install GNU make:make[5]: *** [gdb.info] Error 127make[5]: Leaving directory `/root/gdb-8.1/build/gdb/doc'make[4]: *** [subdir_do] Error 1make[4]: Leaving directory `/root/gdb-8.1/build/gdb'make[3]: *** [install-only] Error 2make[3]: Leaving directory `/root/gdb-8.1/build/gdb'make[2]: *** [install] Error 2make[2]: Leaving directory `/root/gdb-8.1/build/gdb'make[1]: *** [install-gdb] Error 2make[1]: Leaving directory `/root/gdb-8.1/build'make: *** [install] Error 2需要yum install texinfo,然后再执行make install。至于原本安装好的gcc的话,应该是没了吧,我是找不到它了。安装软件的推荐性是这样的官方源>知名第三方源>手动编译>不知名第三方源,很多时候,手动编译需要自己安装依赖,很多时候,自己安装依赖还会需要安装依赖的依赖,某些极端情况下,还会遇到依赖循环,令人十分的窒息。自行编译安装并不是很推荐的操作,并且很多时候新版并不一定就更好,Cent OS一直用着老版本的软件并不是没有道理的。建立builddir的目的,只是为了让编译产生的文件集中在一个地方,免得主目录一大堆文件看起来不方便。Ubuntu/Debia的软件版本一般都比较新,不值得花大量时间手动编译。}
本人Linux小白一枚,因为学习需要不得已摸索相关技能,由于无大师指点,走了很多弯路,在网上找了一些教程,但是因为缺乏基本知识无法理解其中的含义而无法达到活学活用,最终都没能成功实现。出现转机的是在某个群组里问了一个专业人士指点迷津,最终才恍然大悟,成功地打通了这个方法。本着无私分享的角度,我把亲测可用的方法贴文给大家,为小白们指明一条道路,这样达到事半功倍。其中现在看来方法也比较简单(PS:理解的东西才会变得容易)。1、cat /etc/redhat-releas查看当前的系统版本2、 gcc -v查看当前的gcc版本3、yum -y install wget bzip2 gcc gcc-c++ glibc-headers检查安装升级用到的一些工具4、wget -c -P /opt/tmp/ https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.gz下载gcc-6.4.0到/opt/tmp/下,即为我们的安装路径,其他版本的可以将gcc版本进行替换。5、cd /opt/tmp/切换自下载和安装目录下6、tar -zxvf gcc-6.4.0.tar.gz解压安装包7、cd gcc-6.4.0打开解压文件8、./contrib/download_prerequisites下载gmp mpfr mpc等供编译需求的依赖项,All prerequisites downloaded successfully即为成功。9、 mkdir build在/opt/tmp/新建文件夹10、cd build打开新建文件夹11、../configure --prefix=/usr/local/gcc-6.4.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib编译设置,这里版本号灵活替换12、make编译,这里耗时至少1h以上,可以去干别的了13、make install安装14、gcc -v查看安装的版本号,此时还是显示显示旧版........................................................继续操作15、echo -e 'export PATH=/usr/local/gcc-6.4.0/bin:$PATH' >> /etc/profile.d/gcc.sh && source /etc/profile.d/gcc.sh配置16、ln -sv /usr/local/gcc-6.4.0/include/ /usr/include/gcc导出文件17、ldconfig -v配置生效18、ldconfig -p
grep gcc19、gcc -v检查是否为新的版本号........................................................到这里还没结束,还需继续配置,不然用不了20、find / -name "libstdc++.so*"检查动态库要最后一行的结果//最新动态库/opt/tmp/gcc-6.4.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22/opt/tmp/gcc-6.4.0/build是升级gcc时的输出目录,将上面的最新动态库libstdc++.so.6.0.22复制到/usr/lib64目录下。21、cp /opt/tmp/gcc-6.4.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 /usr/lib64一定不要忘记后面添加的/usr/lib64,复制后,修改系统默认动态库的指向,即:重建默认库的软连接。22、cd /usr/lib64切换工作目录至/usr/lib6423、rm -rf libstdc++.so.6将默认库的软连接指向最新动态库24、ln -s libstdc++.so.6.0.22 libstdc++.so.6默认动态库升级完成。25、strings /usr/lib64/libstdc++.so.6
grep GLIBC重新运行检查动态库,即可。至此,大功告成。
}
1、关于gcclinux内核本身不依赖gcc,gcc只是一个编译软件,是在kernel的源码变成可执行文件的时候起作用,真正使用起来就没有什么关系。查看 gcc 版本 gcc -v如果没有则显示:2、安装步骤2.1、下载gcc安装包gcc下载地址:https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/至于下载哪个版本都可以,本文演示的为 gcc-4.8.5 包。本文gcc-4.8.5包下载:https://niceyoo.lanzoux.com/i5nIdmx2n9e2.2、上传至CentOS自行选择工具上传至 centos,本文以上传至 /usr/local/gcc 目录为例。2.3、解压gcc安装包执行命令:tar -zxvf gcc.tar.gz2.4、开始安装指令命令如下:# 进入解压后的gcc目录
cd gcc
# 执行安装敏玲
rpm -Uvh *.rpm --nodeps --force
执行截图:安装成功后,使用命令 gcc -v 查看:博客地址:https://niceyoo.cnblogs.com
分类专栏
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
}

我要回帖

更多关于 GCC是什么认证 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信