计算化学公社
标题: 升级GCC4.7 [打印本页]
作者Author: kkwang 时间: 2021-8-2 14:12
标题: 升级GCC4.7
root权限下将GCC4.7升级到GCC5.2.0
由于我们的机器比较老,所以安装的也较老的GCC5.2.0版本,若想安装最新的GCC,注意下载对应的依赖包。
一.所需的安装文件
1. gcc-5.2.0.tar.gz(主程序) 2. gmp-6.1.0.tar.bz2(依赖包) 3.mpfr-3.1.3.tar.gz(依赖包) 4.mpc-1.0.3.tar.gz(依赖包) https://gcc.gnu.org/ 下载 gcc-5.2.0.tar.gz
http://www.multiprecision.org/mpc 下载mpc-1.0.3.tar.gz
ftp://ftp.gnu.org/gnu/gmp/ 下载gmp-6.1.0.tar.gz 将4个安装包放在某个文件夹中,例如/home/soft中。
二.安装过程
想安装gcc-5.2.0,必须先安装依赖包,注意依赖包要按照顺序安装。
1. 安装gmp-6.1.0
(1)进入/home/soft中后 解压tar -zxvf gmp-6.1.0.tar.gz
(2)然后进入gmp-6.1.0,执行 ./configure --prefix=/usr/local/gmp-6.1.0
(3)然后执行make
(4)最后执行make install
(5)赋予/usr/local/gmp-6.1.0可执行权限 chmod -R 777 gmp-6.1.0(或许不需要)
2. 安装mpfr-3.1.3
(1)再次进入/home/soft中后 解压tar -zxvf mpfr-3.1.3.tar.gz
(2)然后进入mpfr-3.1.3,执行 ./configure --prefix=/usr/local/mpfr-3.1.3 --with-gmp=/usr/local/gmp-6.1.0
(3)然后执行make
(4)最后执行make install
(5)赋予/usr/local/mpfr-3.1.3可执行权限 chmod -R 777 mpfr-3.1.3(或许不需要)
3. 安装mpc-1.0.3
(1)再次进入/home/soft中后 解压tar -zxvf mpc-1.0.3.tar.gz
(2)然后进入mpc-1.0.3,执行 ./configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.3
(3)然后执行make
(4)最后执行make install
(5)赋予/usr/local/mpc-1.0.3可执行权限 chmod -R 777 mpc-1.0.3(或许不需要)
4. 安装gcc-5.2.0
安装gcc-5.2.0之前需要将上面三个依赖库路径写入/etc/profile中
vi /etc/profile 将export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.0.3/lib:/usr/local/gmp-6.1.0/lib:/usr/local/mpfr-3.1.3/lib
(1)再次进入/home/soft中后 解压tar -zxvf gcc-5.2.0.tar.gz
(2)然后进入gcc-5.2.0,执行 ./configure --prefix=/usr/local/gcc-5.2.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.3 --with-mpc=/usr/local/mpc-1.0.3
(3)然后执行make
注意,若出现 LD_LIBRARY_PATH shouldn't contain the current directory when *** building gcc 的错误,一种解决方法为依次输入以下命令:
export LIBRARY_PATH=$(echo $LIBRARY_PATH | sed 's/:$//; s/^://;')
export C_INCLUDE_PATH=$(echo $C_INCLUDE_PATH | sed 's/:$//; s/^://;')
若不解决,自行搜索其他方式。
(4)最后执行make install
(5)赋予/usr/local/gcc-5.2.0可执行权限 chmod -R 777 gcc-5.2.0
5.建立新的GCC链接
1. 先查看老版本的gcc位置,命令which gcc 输出为/usr/bin/gcc
2.删除老版本的软连接文件/usr/bin/gcc,命令为 rm /usr/bin/gcc
rm /usr/bin/c++
rm /usr/bin/g++
3.建立新版本的软连接文件命令为: ln -s /usr/local/gcc-5.2.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-5.2.0/bin/g++ /usr/bin/g++
ln -s /usr/local/gcc-5.2.0/bin/c++ /usr/bin/c++
作者Author: abin 时间: 2021-8-2 14:17
以普通用户源码编译安装gcc9套件---> https://b23.tv/xs9ovN
视频中的技术方案, 适用于绕开root授权, 给自己安装软件的场景.
仅供参考.
作者Author: zjxitcc 时间: 2021-8-2 14:21
我想补充几点:
(1)安装高版本GCC并不需要使用root权限、root账户,个人用户也可安装;当然也可以用root账户安装在公共区域,这样大家都能用。
(2)安装目录也未必要是/usr/local/,其他如/opt/也是可以的。
详细可以看《Linux下安装高版本GCC》
作者Author: abin 时间: 2021-8-2 15:07
如有root授权,
RHEL/CentOS系列,
那就google搜索yum scl gcc,就有解决方案了。
社区提供了十分完善的解决方案。
作者Author: c00jsw00 时间: 2021-8-2 15:43
centos 快要停止支援了 改裝ubuntu比較好
作者Author: sobereva 时间: 2021-8-2 20:13
用CentOS 8 Stream就完了,和CentOS 8体验无异
作者Author: fhh2626 时间: 2021-8-3 11:44
没有root就不装在系统目录就行了,好像不需要什么特定的技术方案吧
作者Author: abin 时间: 2021-8-3 11:51
老司机当然无需技术方案……
菜鸟,看着官方推荐教程做,都未必搞得定呢。
我的方案很简单,不过应该能用。
就是在所有的推介教程中,
凡是涉及到路径的,
前面都加上$HOME就搞定。
不要和菜鸟讲,
请替换为自己的目录,
请替换为自己的用户名。
菜鸟哪里晓得哪个是用户名?
哪个是路径?
能分清楚这些玩意的,
看一眼official manual,就搞定了。
作者Author: 牧生 时间: 2021-10-2 14:43
试试这种方法
yum install centos-release-scl
yum install devtoolset-8
scl enable devtoolset-8 bash
几分钟就结束,然后进行软链
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
然后查看gcc
gcc --version
g++ --version
[jing@Jing ~]$ gcc --version
gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
作者Author: UTM 时间: 2022-6-1 10:39
你好,我按照您的方法升级了gcc,用gcc --version也显示是8.3.1了,但是在安装gmx的时候还是提示
CMake Error at cmake/gmxTestCompilerProblems.cmake:72 (message):
GCC version 5 or later required. Earlier versions don't have full C++14
support.
请问这是为什么?我重启了虚拟机也还是提示gcc版本不对。
作者Author: 牧生 时间: 2022-6-1 11:26
可能是你的软链没弄好,你可以试试本帖的其他方法
我自己早都转成rockylinux了,不再有gcc过低这个困扰了
作者Author: highlight 时间: 2022-6-1 14:20
根本不需要那样乱改默认编译器链接
本来 scl enable devtoolset-8 bash 后,通过环境变量的变化,默认的编译器和链接库就都指向了 /opt/rh/devtoolset-8 下的版本
输入 exit 或开一个新会话,环境变量就恢复到指向 /usr 下的 4.8.5 版本
这是最合理也是最方便的
像那样只是改了编译器的链接,链接库不管,很容易出问题
你要保证编译前输入了 scl enable devtoolset-8 bash
我使用 devtoolset-9 编译过 2021.3
欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |