这是我的问题。
我可以使用的linux集群(不是sudo用户)已安装
gcc 4.2.1
。>which gcc >/usr/bin/gcc
出于某种原因,我需要更新版本的
gcc
。所以,我安装了gcc 5.1.0
上/disk3/lly/lib/gcc-5.1.0
(由于权限限制,无法安装在/usr/bin
)我仍然想要旧版本
gcc 4.2.1
,有时我想使用gcc 5.1.0
。所以,我想找到一种安全的方式轻松切换它们。
我读过一些帖子,并在这里总结了一个简单的方法:
## Overlay the older one
## Newer gcc at /disk3/lly/lib/gcc-5.1.0--> For simplification, take $NEW for insted
cd /usr/bin
sudo rm gcc
sudo ln -s $NEW/bin/gcc gcc
## Change back to gcc 4.2.1
sudo ln -sf /usr/bin/gcc gcc
但是我没有足够的权限,是否有其他方法可以实现我的目标?
最佳答案
简短回答:gcc 是针对硬编码的安装路径构建的。仅仅复制到其他地方是行不通的。您将需要从头开始重新编译 gcc(可能还有 binutils,甚至可能是匹配的 libc,如果它与安装的版本不同)。
您目前的主要问题是 $NEW/bin/gcc
不在您的 PATH
中。一旦你添加它就像
export PATH=${NEW}/bin/gcc:${PATH}
它将启动您的编译器前端版本,但您很快就会遇到一堆其他不容易解决的问题。
关于linux - 选择linux上两个版本的gcc作为非管理员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36248072/