scl enable devtoolset-7 不执行任何操作

scl enable devtoolset-7 不执行任何操作

我有一台相对较旧的服务器,上面装有 CentOS 6。默认 gcc 是 4.4.7,但经过一番谷歌搜索后,我发现我可以通过 更新它devtoolset-7。我devtoolset-7通过 root (即sudo -i) 安装,并且安装正常。

然后我照做了scl enable devtoolkit-7 bash,但似乎没有任何效果。

[affan@abm-lab ~]$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[affan@abm-lab ~]$ scl enable devtoolset-7 bash

[affan@abm-lab ~]$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

有人知道为什么scl没有启用具有适当变量设置的子环境吗?

答案1

我也遇到了这个问题。我不知道为什么scl无法启用环境,但我能够让它加载source /opt/rh/devtoolset-7/enable

答案2

这是由于您在 .bashrc 和/或 .bash_profile 中的设置。scl 在启动新的 bash shell 之前将其路径附加到 gcc7,但 gcc 的路径再次默认为旧的 gcc4,因为您的 .bashrc 在启动新的 bash 时将 /usr/bin 附加到路径,并且它取代了 scl 设置。解决方案是直接使用“enable”脚本。这样就不会再有路径设置让您烦恼了。

相关内容