我只是从源代码安装了gcc-8.1,使用这些步骤:
wget https://ftp.gnu.org/gnu/gcc/gcc-8.1.0/gcc-8.1.0.tar.gz
tar xvf gcc-8.1.0.tar.gz
cd gcc-8.1.0
apt build-dep gcc
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-8.1.0/configure --prefix=/usr/bin/gcc-8.1 --enable-languages=c,c++,fortran,go --disable-multilib
make -j8
make install
一切都对吗?
然后将其添加到update-alternatives中
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8.1 60 --slave /usr/bin/g++ g++ /usr/bin/g++-8.1
There are 3 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/gcc-7 60 auto mode
1 /usr/bin/gcc-5 60 manual mode
* 2 /usr/bin/gcc-7 60 manual mode
3 /usr/bin/gcc-8.1 60 manual mode
Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/bin/gcc-8.1 to provide /usr/bin/gcc (gcc) in manual mode
update-alternatives: warning: skip creation of /usr/bin/g++ because associated file /usr/bin/g++-8.1 (of link group gcc) doesn't exist
我的问题是当我输入gcc -v
时,它说bash: /usr/bin/gcc: Is a directory
2条答案
按热度按时间ykejflvf1#
--prefix=/usr/bin/gcc-8.1
意味着属于安装一部分的 * 所有内容 * 都将放在/usr/bin/gcc-8.1/
目录中。1这意味着你实际的GCC二进制文件可能位于
/usr/bin/gcc-8.1/bin/gcc
(或者一些类似命名的可执行文件,也许它实际上被称为gcc-8
或gcc-8.1
)。当您使用
update-alternatives
将GCC二进制文件设置为/usr/bin/gcc-8.1
时,您设置了通常用于解析您想要的GCC二进制文件的符号链接到目录-导致您现在得到的错误。要解决此问题,请执行以下步骤:
1.删除
update-alternatives
中的错误条目:1.添加正确的条目。2
1、大多数情况下,无论如何。前缀包括
/
(/bin/
中的二进制文件)、/usr/
(/usr/bin/
中的二进制文件)和/usr/local/
(/usr/local/bin/
中的二进制文件)2我假设你想把GCC安装在那个尴尬的位置。使用
--prefix=/opt/gcc-8.1
或类似的工具重新编译并重新安装可能会更好,只需根据需要修改路径即可2ledvvac2#
这是一把双刃剑。我在windows上,所以没有Linux术语。但找到了我的海湾合作委员会的问题,在一个非常wierd的方式。但也许这会帮助一些人从小时的挖掘和尝试这个和那个。但不能说我在这个过程中没有学到很多东西。我还发现,我一直在监狱里StackOverflow,不能发布我在2023年提出的一个不同问题的答案,因为几年前的这篇文章是关于一个糟糕的答案。谢谢你以上的输入,可悲的是,我不记得我做了什么,然后通过gcc使原来的问题的一部分。但遗憾的是,我可能放弃了这个项目。但希望这能让我走出监狱,我可以再次张贴我的问题。但我至少有一个MAC再次,所以我认为gcc的事情不会是一个问题,如果我记得。
gcc 10.4 release for windows
这至少让我走到了这里
Read down to the soundforge link