计算化学公社

 找回密码 Forget password
 注册 Register
Views: 3810|回复 Reply: 11
打印 Print 上一主题 Last thread 下一主题 Next thread

[Linux] 升级GCC4.7

[复制链接 Copy URL]

26

帖子

0

威望

1378

eV
积分
1404

Level 4 (黑子)

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
     http://ftp.gnu.org/gnu/mpfr/ 下载mpfr-3.1.3.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++


2407

帖子

1

威望

5950

eV
积分
8377

Level 6 (一方通行)

2#
发表于 Post on 2021-8-2 14:17:39 | 只看该作者 Only view this author
以普通用户源码编译安装gcc9套件---> https://b23.tv/xs9ovN
视频中的技术方案, 适用于绕开root授权, 给自己安装软件的场景.

仅供参考.
High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

4104

帖子

4

威望

8866

eV
积分
13050

Level 6 (一方通行)

MOKIT开发者

3#
发表于 Post on 2021-8-2 14:21:24 | 只看该作者 Only view this author
我想补充几点:
(1)安装高版本GCC并不需要使用root权限、root账户,个人用户也可安装;当然也可以用root账户安装在公共区域,这样大家都能用。
(2)安装目录也未必要是/usr/local/,其他如/opt/也是可以的。
详细可以看《Linux下安装高版本GCC


自动做多参考态计算的程序MOKIT

2407

帖子

1

威望

5950

eV
积分
8377

Level 6 (一方通行)

4#
发表于 Post on 2021-8-2 15:07:16 | 只看该作者 Only view this author
如有root授权,
RHEL/CentOS系列,
那就google搜索yum scl gcc,就有解决方案了。

社区提供了十分完善的解决方案。
High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

85

帖子

0

威望

2242

eV
积分
2327

Level 5 (御坂)

5#
发表于 Post on 2021-8-2 15:43:50 | 只看该作者 Only view this author
centos 快要停止支援了 改裝ubuntu比較好

6万

帖子

99

威望

5万

eV
积分
120100

管理员

公社社长

6#
发表于 Post on 2021-8-2 20:13:44 | 只看该作者 Only view this author
c00jsw00 发表于 2021-8-2 15:43
centos 快要停止支援了 改裝ubuntu比較好

用CentOS 8 Stream就完了,和CentOS 8体验无异
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

1149

帖子

6

威望

6629

eV
积分
7898

Level 6 (一方通行)

7#
发表于 Post on 2021-8-3 11:44:27 | 只看该作者 Only view this author
abin 发表于 2021-8-2 14:17
以普通用户源码编译安装gcc9套件---> https://b23.tv/xs9ovN
视频中的技术方案, 适用于绕开root授权, 给自 ...

没有root就不装在系统目录就行了,好像不需要什么特定的技术方案吧

2407

帖子

1

威望

5950

eV
积分
8377

Level 6 (一方通行)

8#
发表于 Post on 2021-8-3 11:51:33 | 只看该作者 Only view this author
fhh2626 发表于 2021-8-3 11:44
没有root就不装在系统目录就行了,好像不需要什么特定的技术方案吧

老司机当然无需技术方案……

菜鸟,看着官方推荐教程做,都未必搞得定呢。

我的方案很简单,不过应该能用。
就是在所有的推介教程中,
凡是涉及到路径的,
前面都加上$HOME就搞定。

不要和菜鸟讲,
请替换为自己的目录,
请替换为自己的用户名。
菜鸟哪里晓得哪个是用户名?
哪个是路径?

能分清楚这些玩意的,
看一眼official manual,就搞定了。

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
wangxubin + 2 谢谢

查看全部评分 View all ratings

High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

1478

帖子

0

威望

4539

eV
积分
6017

Level 6 (一方通行)

9#
发表于 Post on 2021-10-2 14:43:22 | 只看该作者 Only view this author
试试这种方法

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.
又菜又爱玩

250

帖子

0

威望

1462

eV
积分
1712

Level 5 (御坂)

10#
发表于 Post on 2022-6-1 10:39:38 | 只看该作者 Only view this author
牧生 发表于 2021-10-2 14:43
试试这种方法

yum install centos-release-scl

你好,我按照您的方法升级了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版本不对。

1478

帖子

0

威望

4539

eV
积分
6017

Level 6 (一方通行)

11#
发表于 Post on 2022-6-1 11:26:08 | 只看该作者 Only view this author
UTM 发表于 2022-6-1 10:39
你好,我按照您的方法升级了gcc,用gcc --version也显示是8.3.1了,但是在安装gmx的时候还是提示
CMake  ...

可能是你的软链没弄好,你可以试试本帖的其他方法
我自己早都转成rockylinux了,不再有gcc过低这个困扰了
又菜又爱玩

186

帖子

1

威望

4411

eV
积分
4617

Level 6 (一方通行)

12#
发表于 Post on 2022-6-1 14:20:22 | 只看该作者 Only view this author
UTM 发表于 2022-6-1 10:39
你好,我按照您的方法升级了gcc,用gcc --version也显示是8.3.1了,但是在安装gmx的时候还是提示
CMake  ...

根本不需要那样乱改默认编译器链接
本来 scl enable devtoolset-8 bash 后,通过环境变量的变化,默认的编译器和链接库就都指向了 /opt/rh/devtoolset-8 下的版本
输入 exit 或开一个新会话,环境变量就恢复到指向 /usr 下的 4.8.5 版本
这是最合理也是最方便的
像那样只是改了编译器的链接,链接库不管,很容易出问题

你要保证编译前输入了 scl enable devtoolset-8 bash
我使用 devtoolset-9 编译过 2021.3

评分 Rate

参与人数
Participants 1
eV +4 收起 理由
Reason
snljty2 + 4

查看全部评分 View all ratings

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-13 20:55 , Processed in 0.315574 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list