在基于远程Linux的HPC上切换gcc版本(无root权限)

时间:2015-10-21 20:33:12

标签: c++ c++11 gcc

我需要使用gcc-4.8及更高版本提供的c ++ 11库运行特定程序。我正在尝试运行该程序的远程HPC具有gcc-4.6.1。我能够在用户指定的目录中在HPC上安装gcc-4.8.2版本 /共享/用户/ gccInstall

(gccInstall有安装后得到的/ bin和/ lib(etc)文件夹) 我需要切换到这个版本来编译我的程序。我尝试使用update-alternatives --config gcc,但它没有返回任何内容。 任何人都可以帮我解决这个问题!

修改: 能够使用以下命令更改gcc版本: setenv PATH / share / user / gccInstall / bin setenv LD_LIBRARY_PATH / share / user / gccInstall / lib

现在gcc --version返回4.8.2。 但在编译时遇到另一个错误: g ++:错误尝试执行'as':execvp:没有这样的文件或目录 我错过了什么?

非常感谢。

2 个答案:

答案 0 :(得分:0)

如果您要使用不同版本的g ++,请确保根据$PATH获得正确的g ++,或者指定所需g ++的完整路径。另一件需要注意的事情是,您可能需要更新$LD_LIBRARY_PATH环境变量以从新的gcc安装中获取必要的库。

您遇到的问题究竟是什么?你能编译但不能运行吗?编译失败了吗?您有可以分享的错误消息吗?

答案 1 :(得分:0)

假设您说新的GCC安装是 在/share/user/gccInstall下,然后添加选项

-B/share/user/gccInstall

每次g++gcc的调用都会有这个 效果:

  

-Bprefix      此选项指定在何处查找编译器本身的可执行文件,库,包含文件和数据文件。

(来自Options for Directory Search

这应该有所帮助,也许就足够了。