1

我在 rhel 6.9 安装上使用 devtoolset-2,所以我可以使用 devtoolset-2 提供的 gcc 4.8 版本。在以前的 rhel 6.2 安装中(在 VM 上),我能够通过在 /etc/profile.d/ 中添加一个脚本到源 devtoolset-2 的启用脚本来启用 devtoolset-2 的 gcc:

$ cat /etc/profile.d/devtoolset2.sh
#!/bin/bash
source scl_source enable devtoolset-2

效果很好,让我可以访问我打开的任何终端窗口的 gcc 4.8。

现在在这个新的 6.9 安装(在真实硬件上)我已经在相同的位置尝试了相同的脚本,但它从来没有来源。新的终端窗口始终默认为系统的 gcc 4.4。但是,我可以手动获取启用脚本并且它确实有效:

$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)

$ source scl_source enable devtoolset-2
$ gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)

谷歌搜索后,我尝试使用几个不同的命令来获取脚本:

. /opt/rh/devtoolset-2/enable
source /opt/rh/devtoolset-2/enable
... etc.

我希望此设置适用于所有用户的终端,但为了完整起见,我尝试从我的 .bashrc 和 .bash_profile 脚本中获取它,但都不适用于我的用户。

我注意到的最后一件事是,如果我以 root 用户而不是普通用户身份登录,/etc/profile.d/ 中的脚本执行 source devtoolset-2 就好了。

任何想法为什么它会自动为root而不是任何其他用户提供资源?

4

0 回答 0