从源代码安装gcc:bash:gcc -v /usr/bin/gcc:是一个目录

oalqel3c  于 2023-10-19  发布在  其他
关注(0)|答案(2)|浏览(204)

我只是从源代码安装了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

ykejflvf

ykejflvf1#

--prefix=/usr/bin/gcc-8.1意味着属于安装一部分的 * 所有内容 * 都将放在/usr/bin/gcc-8.1/目录中。1
这意味着你实际的GCC二进制文件可能位于/usr/bin/gcc-8.1/bin/gcc(或者一些类似命名的可执行文件,也许它实际上被称为gcc-8gcc-8.1)。
当您使用update-alternatives将GCC二进制文件设置为/usr/bin/gcc-8.1时,您设置了通常用于解析您想要的GCC二进制文件的符号链接到目录-导致您现在得到的错误。
要解决此问题,请执行以下步骤:
1.删除update-alternatives中的错误条目:

update-alternatives --remove gcc /usr/bin/gcc-8.1

1.添加正确的条目。2

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8.1/bin/gcc 60 \
                    --slave   /usr/bin/g++ g++ /usr/bin/gcc-8.1/bin/g++

1、大多数情况下,无论如何。前缀包括//bin/中的二进制文件)、/usr//usr/bin/中的二进制文件)和/usr/local//usr/local/bin/中的二进制文件)
2我假设你想把GCC安装在那个尴尬的位置。使用--prefix=/opt/gcc-8.1或类似的工具重新编译并重新安装可能会更好,只需根据需要修改路径即可

2ledvvac

2ledvvac2#

这是一把双刃剑。我在windows上,所以没有Linux术语。但找到了我的海湾合作委员会的问题,在一个非常wierd的方式。但也许这会帮助一些人从小时的挖掘和尝试这个和那个。但不能说我在这个过程中没有学到很多东西。我还发现,我一直在监狱里StackOverflow,不能发布我在2023年提出的一个不同问题的答案,因为几年前的这篇文章是关于一个糟糕的答案。谢谢你以上的输入,可悲的是,我不记得我做了什么,然后通过gcc使原来的问题的一部分。但遗憾的是,我可能放弃了这个项目。但希望这能让我走出监狱,我可以再次张贴我的问题。但我至少有一个MAC再次,所以我认为gcc的事情不会是一个问题,如果我记得。
gcc 10.4 release for windows
这至少让我走到了这里
Read down to the soundforge link

相关问题