jasonmumu的个人博客分享 http://blog.sciencenet.cn/u/jasonmumu

博文

没有root权限且在Linux系统离线安装GCC 12 的详细过程

已有 4231 次阅读 2022-9-17 16:24 |个人分类:软件的安装|系统分类:科研笔记

我们在做计算的过程中可能会遇到GCC版本过低的问题,如果使用的计算机系统没有root权限则有时候很难解决所遇到的找不到高版本libstdc++.so.6动态库的问题。这里笔者根据自己的经验总结了在没有root权限且没有网络连接时,离线安装GCC 12版本的详细过程,分享给大家并且方便自己查看。

1. 下载安装包和依赖包

首先下载GCC,各个版本的安装包可以在这个链接中找到:https://ftp.gnu.org/gnu/gcc/

下载后将安装包上传到计算机系统,然后解压安装包并cd到解压后的文件夹下:

  tar -Jxf gcc-12.2.0.tar.xz
  cd gcc-12.2.0

可以通过下述命令查看依赖:

  vi contrib/download_prerequisites

gcc-12.2.0的依赖如下所示:

#------------------------------------

gmp='gmp-6.2.1.tar.bz2'

mpfr='mpfr-4.1.0.tar.bz2'

mpc='mpc-1.2.1.tar.gz'

isl='isl-0.24.tar.bz2'

#------------------------------------

上面各种依赖包的下载地址为:https://gcc.gnu.org/pub/gcc/infrastructure/

将上述依赖包下载后上传至gcc-12.2.0目录下,然后执行下述命令:

  ./contrib/download_prerequisites


2. 安装GCC

首先创建build文件夹并进入该文件夹:

  mkdir build && cd build

然后配置安装目录,因为没有root权限,--prefix后需要指定可访问的目录:

  ../configure --prefix=/home/mypath/gcc/gcc12_install/ --disable-multilib

这里加--disable-multilib是为了只安装64位版本

最后执行安装:

  make -j 24
  make install


3. 设置环境变量

创建一个存放环境变量的文档,如env_gcc12.sh,将下列几行按照顺序放在该文档中。

#!/bin/bash
export GCCHOME=/home/mypath/gcc/gcc12_install
export PATH=$GCCHOME/bin:$PATH
export LD_LIBRARY_PATH=$GCCHOME/lib64
export C_INCLUDE_PATH=$GCCHOME/include/
export CPLUS_INCLUDE_PATH=$GCCHOME/include/
export LD_PRELOAD=$GCCHOME/lib64/libstdc++.so.6:$LD_PRELOAD


其中LD_PRELOAD是为了优先加载我们需要的动态库,可以有效解决类似下面的报错:“libstdc++.so.6: version `GLIBCXX_3.4.20' not found”。

在使用这个安装的GCC时只需要执行命令:source env_gcc12.sh。笔者建议把这个文档放在根目录,然后在计算脚本中加入:source ~/env_gcc12.sh,这样方便使用。



https://wap.sciencenet.cn/blog-3311084-1355735.html

上一篇:Pymol 进阶:Python脚本的使用方法
收藏 IP: 114.95.109.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-29 14:38

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部