我想在运行 CentOS 5.4 的集群上安装 devtools(以获取比默认版本更高版本的 gcc。我需要 gcc>4.7 才能使用一些 C++11 功能)
但是我没有 root 权限。是否可以在不具备 root 权限的情况下将 devtools 安装在我的用户主文件夹中?步骤如下这答案假设有 root 访问权限。感谢提供任何信息或链接。
答案1
是的,当然可以。但有几点需要注意。
您应该从源代码进行编译并为您的主目录添加前缀:
./configure --prefix=$HOME
当然,根据需要添加参数。make install
然后将安装在 /home/yourdir/bin、/home/yourdir/lib 等中。您可能需要在 lib 目录上手动运行“ldconfig”来创建指向您的库的缩短符号链接。
在您的 shell 环境中,首先添加您个人“bin”目录的路径(如果尚未添加)。例如,将其添加到您的 .bashrc:
PATH=$HOME/bin:$PATH
LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH
这将确保首先找到您自己的 gcc 副本;LD_LIBRARY_PATH 对您自己的动态库执行相同的操作。
请注意,较新版本的 gcc 可能需要较新版本的 binutils、汇编程序和各种库,因此您最终得到的可能不仅仅是 gcc。另外,我认为建议首先只编译 C 编译器(使用 --enable-languages=C),然后重新编译 gcc 本身以编译 C++ 编译器。
最后,上述内容可能会干扰现有的系统 C++ 库;过去,我在将不同 gcc 版本编译的 C++ 库链接到我的程序时遇到了问题。C 库通常不会出现此问题。
答案2
我认为如果您不是 root,则无法升级 GCC。尝试下载 rpm 并安装它,但机会很小。