linux非root权限下 使用自己安装的gcc

问题:参加比赛使用集群跑程序时,碰到了以下错误,原因是gcc版本太低没有相应的库。
libstdc++.so.6: version `CXXABI_1.3.8' not found

1.首先通过指令strings /usr/lib64/libstdc++.so.6|grep CXXABI查看Linux服务器gcc版本中有哪些库,一般是gcc版本过低,但由于没有root权限,没有办法去升级已有的gcc,只好自己安装一个,安装过程网上很多。
2.安装后通过修改PATH使用自己的gcc
3.PATH修改方法
通过修改.bashrc文件:
vim ~/.bashrc 
//在最后一行添上:
export PATH=........../gcc-install/bin:$PATH
生效方法:(有以下两种)
1、关闭当前终端窗口,重新打开一个新终端窗口就能生效
2、输入“source ~/.bashrc”命令,立即生效
有效期限:永久有效
用户局限:仅对当前用户
4.配置以下内容,一般可以使用自己的gcc.
export PATH=/gpfs/home/asc01/zm/last/gcc/gcc-7.3.0/gcc-install/bin:$PATH
export PATH=/gpfs/home/asc01/zm/last/gcc/gcc-7.3.0/gcc-install/lib:$PATH
export PATH=/gpfs/home/asc01/zm/last/gcc/gcc-7.3.0/gcc-install/lib64:$PATH
export LD_LIBRARY_PATH=/gpfs/home/asc01/zm/last/gcc/gcc-7.3.0/gcc-install/lib:$LD_LIBRARY_PATH
5.若仍无法使用,还有最后一个方法
 有一个特殊的环境变量LD_PRELOAD, 可以强行替换共享库中运行的符号。 export LD_PRELOAD= “xxx.so”, 如果你程序运行过程中遇到了和xxx.so同名的符号,这个时候程序会使用到xxx.so中的符号
这里设置export LD_PRELOAD=“高版本gcc路径/lib64/libstdc++.so.6”;

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你没有C compiler和root权限,你可能无法直接安装gcc。但是,你可以尝试以下方法: 1. 使用包管理器安装gcc:如果你使用的是Linux或类Unix操作系统,并且有一个包管理器,你可以尝试使用它来安装gcc。例如,在Ubuntu上,你可以使用以下命令安装gcc: ``` sudo apt-get update sudo apt-get install gcc ``` 如果你没有root权限,你可以尝试使用`--user`选项进行用户级别安装: ``` sudo apt-get update sudo apt-get install gcc --user ``` 请注意,这种方法可能需要一些时间,因为它需要从软件仓库中下载gcc安装。 2. 在线安装:如果你无法使用包管理器安装gcc,你可以尝试在线安装。你可以从gcc官方网站下载gcc的源代码,并按照它们的说明进行编译和安装。这需要一些时间和技能,因为你需要手动解决依赖关系和编译问题。 3. 使用Docker:如果你无法在本地安装gcc,你可以尝试使用Docker来运行一个包含gcc的容器。Docker是一个虚拟化平台,可以让你在你的计算机上运行容器化的应用程序。你可以从Docker Hub上下载一个包含gcc的镜像,并在容器中运行它。这需要一些时间和技能,因为你需要学习如何使用Docker和管理容器。 请注意,这些方法都需要一些技能和经验,并且可能需要一些时间和努力。如果你不确定如何做,最好联系你的系统管理员或技术支持人员以获取帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值