配置: 错误: C 编译器不能创建可执行文件

我已经检查了许多关于堆栈溢出的类似问题,但是还没有找到答案。

我试图在 Lion OSX 上安装 memcached 作为 这里显示

这就是我得到的:

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.

我按照几个地方的建议重新安装了 Xcode,但是没有成功。

这是我的 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
246011 次浏览

您有一套旧的开发人员工具。Gcc 将其版本报告为4.0.1。这可能是从旧版本的操作系统迁移过来的结果。如果您已经安装了 Xcode 4.3.x,那么您需要启动它,进入它的首选项,选择 Location 选项卡,然后单击 Command Line Tools 包旁边的“ Install”。

我已经安装了10.8和 Xcode 4.4和 Command Line 工具,但是我仍然得到这个错误。我没有重新安装 Xcode,而是注意到 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

那条路对我来说并不存在,相反,我有:

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

C 编译器(“ cc”)位于 xctoolchain 目录中。我为 OSX10.8创建了一个符号链接。Xctoolchain 指向 XcodeDefault.xctoolchain 并修复了它。现在 memcached 安装脚本可以找到编译器版本并继续执行。

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

正如评论中建议的那样,如果您在 Yosemite (10.10)或 Mavericks (10.9)上遇到这个问题,您可以更新上面的 symlink 命令以指向该特定版本(OSX10.9.xctoolchainOSX10.10.xctoolchain)。

我已经在 xcode 中安装了命令行工具,但我的命令行工具还是出错了:

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

当我输入 which gcc时,它返回了

/usr/bin/gcc

当我进入 gcc -v的时候,我得到了很多东西

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

所以我创建了一个符号链接:

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

成功了!

(config.log 文件位于 make 试图在其中构建内容的目录中)

对我来说,这是一个与 gcc 的问题,由 gcc -v突出显示。这是由于最近升级的 Xcode 这篇文章说做 sudo xcode-select -switch /Applications/Xcode.app,解决了这个问题。

当您看到此错误消息时,您可能尚未接受升级后的 Xcode 许可协议

首先,确保升级了命令行工具:

$ xcode-select --install

现在,苹果希望你在使用这些工具之前同意他们的许可:

$ 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.
[...]

在您接受它之后,命令行工具将按预期工作。

我只是在建造阿帕奇的时候遇到了点问题。我使用的解决方案与 Mostafa 相同,我必须导出2个变量:

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'

这是一个 Mac OSX 小牛队

将“ clang”设置为编译器配置应该使用的方法对我很有效:

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

在我的案例中,我尝试 xcode-select --install,但它说,它不能从商店。然后,受到 Rimian 的启发,我检查了我的 gcc: gcc -v,然后我收到一条消息说我没有同意。

从那时起,我只是遵循从 gcc -v的协议过程,在我同意它的工作对我来说很好。

如果有人来这里是因为 RVM/Ruby 正在制造问题(中间人/Grunt) ,我已经解决了我的问题。

又及,斯特罗斯科特的回答,前阵子解决了我的问题... 这次不是这个案子。

在我的案例中,rvm 试图通过自制程序使用下载的 gcc。我运行了 gcc 的 brew 卸载(我用的是 gcc46) ,并重新运行了 Ruby 安装的代码(旧项目旧 Ruby v)

$ brew uninstall gcc46


$ rvm install 1.9.3

在检查需求的过程中,它自动为我获取了一个新的 gcc,现在一切正常。需要注意的是,从 rvm 命令安装 gcc 需要大约10-15分钟的时间而不会抛出任何文本,它没有被冻结:)祝你好运

确保 Xcode 应用程序名称中没有空格(如果保留了旧版本,可能会出现这种情况——例如将其重命名为“ Xcode 4”。构建工具将在 Xcode bundle 路径中引用,许多脚本无法正确处理带有空格的引用。

我疯狂地阅读了这一页,希望能找到一个解决办法:

"configure: error: C compiler cannot create executables"

最后什么都没用,因为我的问题是一个“打字”的问题,而且与 CFLAGS 有关。 在我的. bash _ profile 文件中:

export ARM_ARCH="arm64”
export CFLAGS="-arch ${ARM_ARCH}"

正如您可以观察到的——-export ARM _ ARCH = “ ARM 64”——-最后一个报价符号与第一个报价符号不同。第一个(“)是合法的,而第二个(“)则不是。
发生这种情况是因为我错误地使用了 TextEdit (我在 MacOS 下工作) ,这显然是一个叫做 SmartQuotes 的功能: 当你编辑旁边的东西时,引号会自动变成非法的样式。
经验教训: 使用适当的文本编辑器..。

关于 clang iOS 交叉编译器

我发现问题出在 miphoneos-version-min=5.0。我换成了 miphoneos-version-min=8.0。现在它工作了。

我只是建议使用创建一个简单的 test.c 文件,并通过命令 write in the log 来编译它。

首先使用

命令: 哪个 GCC

输出:/usr/bin/gcc

我有同样的问题,请在下面的命令中设置 gcc 路径并安装

CC =/usr/bin/gcc rvm install 1.9.3

稍后,如果你得到“ Ruby 是在没有文档的情况下构建的”运行下面的命令

Rvm 文档生成-ri

当我尝试安装 Pod 时,我遇到了构建本地应用程序的问题,我必须导出2个变量:

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'

确保到 Xcode.app 包的路径没有空格或奇怪的字符。我将 Xcode 安装在 ~/Downloads/Last Dev Tools/文件夹中,因此使用空格并将文件夹重命名为 LastDevTools 可以解决这个问题(在重置 Xcode-select-p 之后)

检查 clang的位置:

which clang

应该在 /usr/bin/clang以下。 在我的案例中,来自 Miniconda 的信息被人为地放在命令行 PATH 上。修正这个问题,使得叮当声来自 Xcode,这应该会使您前进。