web-dev-qa-db-fra.com

configure: erreur: le compilateur C ne peut pas créer d'exécutable

J'ai vérifié un certain nombre de questions similaires sur stackoverflow mais je n'ai pas encore trouvé de réponse.

J'essaie d'installer memcached sur Lion OSX en tant que comme indiqué ici .

Voici ce que je reçois:

j-court-demones-macbook-pro:libevent-1.4.12-stable jcourtdemone$ ./configure; make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... 
configure: error: in `/tmp/libevent-1.4.12-stable':
configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** No targets specified and no makefile found.  Stop.

J'ai réinstallé Xcode comme recommandé à plusieurs endroits, mais pas de dés.

Voici mon config.log:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.63.  Invocation command line was

  $ ./configure 

## --------- ##
## Platform. ##
## --------- ##

hostname = j-court-demones-macbook-pro.local
uname -m = x86_64
uname -r = 11.3.0
uname -s = Darwin
uname -v = Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64

/usr/bin/uname -p = i386
/bin/uname -X     = unknown

/bin/Arch              = unknown
/usr/bin/Arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = Mach kernel version:
     Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64
Kernel configured for up to 8 processors.
4 processors are physically available.
8 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1 2 3 4 5 6 7
Primary memory available: 4.00 gigabytes
Default processor set: 109 tasks, 599 threads, 8 processors
Load average: 0.98, Mach factor: 7.01
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /opt/local/bin
PATH: /opt/local/sbin
PATH: /opt/local/bin
PATH: /opt/local/sbin
PATH: /usr/bin
PATH: /Developer/usr/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin
PATH: /usr/local/bin
PATH: /usr/X11/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2077: checking for a BSD-compatible install
configure:2145: result: /usr/bin/install -c
configure:2156: checking whether build environment is sane
configure:2199: result: yes
configure:2224: checking for a thread-safe mkdir -p
configure:2263: result: ./install-sh -c -d
configure:2276: checking for gawk
configure:2306: result: no
configure:2276: checking for mawk
configure:2306: result: no
configure:2276: checking for nawk
configure:2306: result: no
configure:2276: checking for awk
configure:2292: found /usr/bin/awk
configure:2303: result: awk
configure:2314: checking whether make sets $(MAKE)
configure:2336: result: yes
configure:2575: checking for gcc
configure:2591: found /Developer/usr/bin/gcc
configure:2602: result: gcc
configure:2834: checking for C compiler version
configure:2842: gcc --version >&5
i686-Apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5484)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2846: $? = 0
configure:2853: gcc -v >&5
Using built-in specs.
Target: i686-Apple-darwin9
Configured with: /var/tmp/gcc/gcc-5484~1/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-Apple-darwin9 --with-Arch=Apple --with-tune=generic --Host=i686-Apple-darwin9 --target=i686-Apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5484)
configure:2857: $? = 0
configure:2864: gcc -V >&5
gcc-4.0: argument to `-V' is missing
configure:2868: $? = 1
configure:2891: checking for C compiler default output file name
configure:2913: gcc    conftest.c  >&5
ld: library not found for -lcrt1.10.5.o
collect2: ld returned 1 exit status
configure:2917: $? = 1
configure:2955: result: 
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libevent"
| #define VERSION "1.4.12-stable"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2961: error: in `/tmp/libevent-1.4.12-stable':
configure:2964: error: C compiler cannot create executables
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_F77_set=
ac_cv_env_F77_value=
ac_cv_env_FFLAGS_set=
ac_cv_env_FFLAGS_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_Host_alias_set=
ac_cv_env_Host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_path_install='/usr/bin/install -c'
ac_cv_prog_AWK=awk
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_make_make_set=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${Shell} /tmp/libevent-1.4.12-stable/missing --run aclocal-1.10'
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='${Shell} /tmp/libevent-1.4.12-stable/missing --run tar'
AR=''
AUTOCONF='${Shell} /tmp/libevent-1.4.12-stable/missing --run autoconf'
AUTOHEADER='${Shell} /tmp/libevent-1.4.12-stable/missing --run autoheader'
AUTOMAKE='${Shell} /tmp/libevent-1.4.12-stable/missing --run automake-1.10'
AWK='awk'
BUILD_WIN32_FALSE=''
BUILD_WIN32_TRUE=''
CC='gcc'
CCDEPMODE=''
CFLAGS=''
CPP=''
CPPFLAGS=''
CXX=''
CXXCPP=''
CXXDEPMODE=''
CXXFLAGS=''
CYGPATH_W='echo'
DEFS=''
DEPDIR=''
DSYMUTIL=''
ECHO='/bin/echo'
ECHO_C='\c'
ECHO_N=''
ECHO_T=''
EGREP=''
EXEEXT=''
F77=''
FFLAGS=''
GREP=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LDFLAGS=''
LIBOBJS=''
LIBS=''
LIBTOOL=''
LIBTOOL_DEPS=''
LN_S=''
LTLIBOBJS=''
MAKEINFO='${Shell} /tmp/libevent-1.4.12-stable/missing --run makeinfo'
MKDIR_P='./install-sh -c -d'
NMEDIT=''
OBJEXT=''
PACKAGE='libevent'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
RANLIB=''
SED=''
SET_MAKE=''
Shell='/bin/sh'
STRIP=''
VERSION='1.4.12-stable'
ac_ct_CC='gcc'
ac_ct_CXX=''
ac_ct_F77=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include=''
am__isrc=''
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build=''
build_alias=''
build_cpu=''
build_os=''
build_vendor=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec_prefix='NONE'
Host=''
Host_alias=''
Host_cpu=''
Host_os=''
Host_vendor=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='$(Shell) /tmp/libevent-1.4.12-stable/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(top_builddir)/./install-sh -c -d'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr/local'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE "libevent"
#define VERSION "1.4.12-stable"

configure: exit 77
124
CourtDemone

Vous avez un ancien ensemble d'outils de développement. gcc rapporte sa version comme 4.0.1. Cela peut être laissé par la migration d'une ancienne version du système d'exploitation. Si vous avez installé Xcode 4.3.x, vous devez le lancer, accéder à ses préférences, sélectionner l'onglet Téléchargements, puis cliquer sur "Installer" en regard du package Outils de ligne de commande.

104
Ken Thomases

J'ai 10.8 installé et Xcode 4.4 avec des outils de ligne de commande, et pourtant je continuais à avoir cette erreur. Plutôt que de réinstaller Xcode, j'ai remarqué qu'il y avait deux lignes pertinentes dans mon fichier config.log:

configure:5130: checking for C compiler version
configure:5139: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc --version >&5

Ce chemin n'existait pas pour moi. Au lieu de cela j'ai eu:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain

Le compilateur C ("cc") est situé à l'intérieur de ce répertoire xctoolchain. J'ai créé un lien symbolique pour OSX10.8.xctoolchain afin de pointer vers XcodeDefault.xctoolchain et cela a été corrigé. Maintenant, le script d’installation de memcached peut trouver la version du compilateur et continuer son chemin.

cd /Applications/Xcode.app/Contents/Developer/Toolchains
Sudo ln -s XcodeDefault.xctoolchain OSX10.8.xctoolchain

Comme suggéré dans les commentaires, si vous rencontrez ce problème sous Yosemite (10.10) ou Mavericks (10.9), vous pouvez mettre à jour la commande symlink ci-dessus pour qu'elle pointe vers cette version spécifique (OSX10.9.xctoolchain ou OSX10.10.xctoolchain).

138
stereoscott

Lorsque vous voyez ce message d'erreur, vous n'avez peut-être pas accepté le contrat de licence Xcode encore après une mise à niveau.

Tout d'abord, assurez-vous d'avoir mis à niveau vos outils de ligne de commande:

$ xcode-select --install

Apple souhaite maintenant que vous acceptiez leur licence avant de pouvoir utiliser ces outils:

$ gcc
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via Sudo.

$ Sudo gcc
You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode.
[...]

Une fois que vous l'avez accepté, les outils en ligne de commande fonctionneront comme prévu.

67
konrad

Je viens d'avoir ce problème de construction Apache. La solution que j'ai utilisée était la même que Mostafa, j'ai dû exporter 2 variables:

export CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
CPP='/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -E'

C'était un Mac OSX Mavericks 

12
David Williams

J'avais déjà installé les outils de ligne de commande dans xcode mais le mien est toujours erroné: 

line 3619: /usr/bin/gcc-4.2: No such file or directory

Quand j'ai entré which gcc il est revenu 

/usr/bin/gcc

Quand j’ai entré gcc -v j’ai reçu plein de trucs puis 

..  
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

J'ai donc créé un lien symbolique:

cd /usr/bin
Sudo ln -s gcc gcc-4.2

Et ça a marché!

(le fichier config.log se trouve dans le répertoire dans lequel make essaie de construire quelque chose)

12
Rimian

Pour moi, c'était un problème avec gcc, mis en évidence par gcc -v. Il s’agissait de mettre à jour Xcode récemment ce message dit de faire Sudo xcode-select -switch /Applications/Xcode.app qui a résolu le problème.

3
homerjam

Définir 'clang' comme le compilateur configure devrait utiliser pour moi:

export CC=clang
pip install --no-clean pycrypto
3
yndolok

J'ai furieusement lu toute cette page dans l'espoir de trouver une solution pour:

"configure: error: C compiler cannot create executables"

En fin de compte, rien ne fonctionnait, car mon problème était de "frappe" et était lié à CFLAGS . Dans mon fichier .bash_profile, j'avais:

export ARM_Arch="arm64”
export CFLAGS="-Arch ${ARM_Arch}"

Comme vous pouvez le constater --- export ARM_Arch = "arm64" --- le dernier signe de guillemet n'est pas identique au premier signe de guillemet. Le premier (") est légal tandis que le second (") est ne pas.
Cela s'est produit parce que j'ai commis l'erreur d'utiliser TextEdit (je travaille sous MacOS) et qu'il s'agit apparemment d'une fonctionnalité appelée SmartQuotes: le signe de citation change de style lorsque vous modifiez quelque chose juste à côté.
Leçon apprise: utilisez un éditeur de texte approprié ...

2
Florin Odagiu

Commencez par obtenir le chemin gcc en utilisant 

Commande: quel gcc

Sortie:/usr/bin/gcc

J'ai eu le même problème, veuillez définir le chemin d'accès gcc dans la commande ci-dessous et installer

CC =/usr/bin/gcc rvm install 1.9.3

Plus tard, si vous obtenez "Ruby a été construit sans documentation", lancez la commande ci-dessous

dv rvm generate-ri

2
Gurudath BN

Si quelqu'un vient ici parce que RVM/Ruby crée des problèmes (Middleman/Grunt), j'ai résolu mon problème. 

PS. La réponse de steroscott a corrigé mon problème il y a un certain temps ... cette fois-ci, ce n'est pas le cas.

Dans mon cas, RVM essaie d'utiliser un gcc téléchargé via homebrew. J'ai lancé une désinstallation de brassage de gcc (gcc46 pour moi) et j'ai relancé le code pour l'installation de Ruby (ancien projet ancien Ruby v)

$ brew uninstall gcc46

$ rvm install 1.9.3

pendant ce processus de vérification des exigences, il a automatiquement récupéré un nouveau gcc pour moi et boum, tout fonctionne maintenant. Oh, note importante, l'installation de gcc à partir de la commande rvm peut prendre environ 10 à 15 minutes sans qu'aucun texte ne soit jeté, ce n'est pas figé :) Bonne chance

2
jasonsemko

Assurez-vous qu'il n'y a pas d'espace dans le nom de votre application Xcode (cela peut arriver si vous conservez des versions plus anciennes, par exemple en le renommant 'Xcode 4.app'); Les outils de construction seront référencés dans les chemins des ensembles Xcode et de nombreux scripts ne peuvent pas gérer correctement les références contenant des espaces.

0
coderSeb

À propos du compilateur croisé iOS pour clang

J'ai trouvé que le problème était à miphoneos-version-min=5.0. J'ai changé en miphoneos-version-min=8.0. Maintenant ça marche.

Je veux juste suggérer d’utiliser créer un fichier test.c simple et le compiler en écrivant dans le journal.

0
Vyacheslav

Dans mon cas, j'ai essayé xcode-select --install mais il est indiqué que ce n'est pas disponible dans le magasin. Puis, inspiré par Rimian, j’ai vérifié mon gcc: gcc -v puis j’ai reçu un message disant que je n’étais pas d'accord.

À partir de ce moment, je viens de suivre le processus d’accord à partir de gcc -v, après avoir accepté que cela fonctionne bien pour moi.

0
C-Rock