我试图手动安装gcc,却忘记指定--prefix=。因此,在make install二进制文件安装在标准路径(如/usr/bin/或smth)之后。现在,当我输入gcc --version时,它会响应gcc 6.0.0。我怎么还我的系统gcc,我有安装后,我的软呢帽20?
发布于 2015-07-27 15:56:33
如果从源GCC站点编译原始的下载,默认前缀是/usr/local/,而不是/usr/。
使用which gcc了解PATH中的gcc,然后尝试gcc -v;然后使用echo $PATH了解PATH的当前设置
所以你的gcc是/usr/local/bin/gcc,而gcc的系统仍然是/usr/bin/gcc
(在一些Linux发行版(例如Debian )中,/usr/bin/gcc是一个间接的符号链接,可以通过/etc/alternatives/gcc连接到/usr/bin/gcc-4.9;我不知道Fedora在做什么)
因此,只需设置您的PATH (可能在您的~/.bashrc中),以便/usr/bin/位于(或之后,如果您愿意) /usr/local/bin/
我甚至有两个shell函数local_before_path和local_after_path,它们在这两种可能性之间切换。
您可能应该能够重新安装系统GCC,也许使用yum reinstall gcc或一些类似的命令。在某些发行版(尤其是Debian)上,您可以拥有多个系统GCC版本(例如gcc-4.8和gcc-4.9)。
下次您从已发布源代码中编译GCC 5.2 (2015年7月中旬)时,将--prefix=/usr/local/和--program-suffix=-mine传递给它的../gcc-5.2/configure脚本。你会得到gcc-mine在/usr/local/bin/!
https://unix.stackexchange.com/questions/218641
复制相似问题