2013-08-06 2 views
21

Ich versuche Sphinx von der Quelle auf einem 32-Bit CentOS 6 VPS zu machen.Warum sagt configure keinen C-Compiler gefunden, wenn GCC installiert ist?

Wenn ich diesen Befehl ausführen:

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

Ich erhalte diese Fehlerausgabe:

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. 

Was ich nicht verstehe, ist, dass GCC so installiert ist, warum kann eine akzeptable nicht konfigurieren finden C-Compiler?

Hier ist die Ausgabe von 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 

Was soll das?

Antwort

32

versuchen yum groupinstall "Development Tools"

, wenn die Installation Erfolg dann haben Sie eine ganze Reihe von Entwicklungs-Tools: Folgendes sollte ein a.out produzieren. Wie gcc, g ++, machen, ld ect. Danach können Sie die Kompilierung von Codebausteinen erneut versuchen.

Seit yum ist veraltet Sie dnf stattdessen verwenden können:

im Moment
dnf groupinstall "Development Tools" 
2

Vielleicht GCC ist nicht in Ihrem Weg? Versuchen Sie, gcc mit which gcc zu finden und fügen Sie es Ihrem Pfad hinzu, wenn es nicht bereits vorhanden ist.

+0

'welche gcc' Ausgaben'/usr/bin/gcc' und 'echo $ PATH' Ausgaben'/usr/local/jdk/bin:/home/gnotes/perl5/bin:/usr/local/bin:/bin:/usr/bin:/usr/lokal/sbin:/usr/sbin:/sbin:/usr/lokal/bin:/usr/X11R6/bin:/home/gnotes/bin'. Wie würde ich es dem Pfad hinzufügen? – Garry

+0

Sie können es in Ihrer .profile-Datei hinzufügen. – mti2935

+0

Wie kann ich der .profile-Datei hinzufügen? Gibt es einen Befehl dafür? – Ron

4

Try CC Angabe während der Konfiguration:

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

Überprüfen Sie auch, ob Ihr Compiler Executables erzeugt.

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

ich habe gleiche Problem. Ich laufe einfach yum install gcc

+3

Ja, Sie brauchen nicht unbedingt alles, was mit den Development Tools kommt –

0

Irgendwann gcc hatte als /usr/bin/gcc32 erstellt. Also bitte erstellen Sie eine ln -s /usr/bin/gcc32 /usr/bin/gcc und kompilieren Sie dann diese ./configure.

+0

In diesem Fall würde ich stattdessen stattdessen "CC =/usr/bin/gcc32./Configure" vorschlagen, Sie sollten vorsichtig sein, wenn Sie Symlinks in Systemverzeichnisse machen, da dies Ihren Paketmanager verwirren könnte, wenn er versuchen würde zu schreiben nach/usr/bin/gcc später. –

0

Dieses Paket für Sie auch geholfen,

yum install gcc glibc glibc-common gd gd-devel -y 
6

GCC installieren in Ubuntu Debian Basis

sudo apt-get install build-essential 
+0

subtiler Unterschied hier –

0

hatte ich das gleiche Problem mit Verstand. Ich versuchte mit sudo apt-get installieren build-essential Es wird immer noch nicht funktionieren. Ich habe einfach einen Hardlink zum gcc-x binary im Ordner/usr/bin/erstellt. sudo ls/usr/bin/gcc-x/usr/bin/gcc

Das hat für mich funktioniert!

+0

In diesem Fall würde ich stattdessen empfehlen, anstatt "CC =/usr/bin/gcc-x./Configure", sollten Sie vorsichtig sein, wenn Sie Symlinks in Systemverzeichnisse machen, da es Ihren Paketmanager verwechseln könnte wenn es später versuchen würde, in/usr/bin/gcc zu schreiben. –

Verwandte Themen