当安装了GCC后,为什么configure会显示找不到C编译器?

29

我正试图在一台32位的CentOS 6 VPS上从源代码编译Sphinx

当我运行以下命令时:

./configure --prefix=/usr/local/sphinx

我得到了这个错误输出:

checking build environment
--------------------------

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no

checking for compiler programs
------------------------------

checking whether to compile debug version... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/gnotes/sphinx':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

我不明白的是GCC已经安装了,为什么configure找不到可接受的C编译器呢?

这是yum的输出:

sudo yum install gcc

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.metrocast.net
 * extras: centos.mirror.constant.com
 * updates: mirror.lug.udel.edu
base                                                                                                                                                                      | 3.7 kB     00:00     
extras                                                                                                                                                                    | 3.5 kB     00:00     
updates                                                                                                                                                                   | 3.4 kB     00:00     
Setting up Install Process
Package gcc-4.4.7-3.el6.i686 already installed and latest version
Nothing to do

怎么回事?

8个回答

39

尝试使用yum groupinstall "Development Tools"进行安装。

如果安装成功,那么您将拥有完整的开发工具集。例如gcc、g++、make、ld等。之后您可以再次尝试编译Code Blocks。

由于yum已被弃用,您可以使用dnf代替:

dnf groupinstall "Development Tools"

17

Ubuntu Debian Base 中安装 GCC

sudo apt-get install build-essential

这里有微妙的差别。 - Félix Adriyel Gagnon-Grenier

7
我现在遇到了同样的问题。我只需要运行yum install gcc即可解决。

3
是的,您不一定需要开发工具附带的所有内容。 - Reza S

6

尝试在配置时指定CC

CC=/usr/bin/gcc ./configure --prefix=/usr/local/sphinx

还要检查您的编译器是否能生成可执行文件。下面的命令应该会生成一个a.out文件:

echo "int main(){0;}" | gcc -x c -

4
也许gcc不在您的路径中?尝试使用which gcc查找gcc,并将其添加到您的路径中(如果还没有)。

which gcc 输出 /usr/bin/gcc,而 echo $PATH 输出 /usr/local/jdk/bin:/home/gnotes/perl5/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11R6/bin:/home/gnotes/bin。我该如何将其添加到路径中? - Garry Pettet
我该如何添加到.profile文件?有相应的命令吗? - Ron
永久设置 Linux 上的路径 - Shihe Zhang

1

有时gcc会被创建为 /usr/bin/gcc32。所以请创建一个符号链接 ln -s /usr/bin/gcc32 /usr/bin/gcc,然后编译 ./configure


在这种情况下,我建议您改为使用CC=/usr/bin/gcc32 ./configure。但是,当在系统目录中创建符号链接时,您应该小心,因为如果软件包管理器尝试写入/usr/bin/gcc,它可能会混淆您的软件包管理器。 - Johan Bjäreholt

1
我也遇到了相同的问题。 我尝试使用sudo apt-get install build-essential 但它仍然无法工作。 我只是在/usr/bin/文件夹中创建了一个gcc-x二进制文件的硬链接。 sudo ls /usr/bin/gcc-x /usr/bin/gcc 这对我有用!

在这种情况下,我建议改为使用 CC=/usr/bin/gcc-x ./configure,在系统目录中创建符号链接时应该小心,因为如果您的软件包管理器尝试写入 /usr/bin/gcc,它可能会混淆。 - Johan Bjäreholt

0
以下的软件包也可以帮助您,
yum install gcc glibc glibc-common gd gd-devel -y

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接