【问题标题】:configure: error: C compiler cannot create executables配置:错误:C 编译器无法创建可执行文件
【发布时间】:2012-05-08 15:00:08
【问题描述】:

我在 stackoverflow 上检查了许多类似的问题,但还没有找到答案。

我正在尝试在 Lion OSX 上将 memcached 安装为 shown here

这是我得到的:

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

【问题讨论】:

  • 为了避免人们通过你的日志寻找,真正的错误是:ld: library not found for -lcrt1.10.5.o
  • 问题是,你之前有没有在这台机器上编译过其他东西,或者这是第一次?
  • 恐怕这个问题与编程无关,更多的是关于软件安装。如果您对编程一无所知,那么有更好的地方可以找到您正在寻找的帮助。
  • 我不确定我是否同意“与编程无关”的判断。她的问题似乎是安装和配置了开发人员工具之一(当然,我认为它们默认安装在 Lion 上)。如果是这种情况,这将是“编程行业独有的工具”或常见问题解答中所说的任何内容。
  • 我之所以找到这个项目,是因为我在尝试在一台我已经明确编程一段时间的机器上构建一个 iOS 库时遇到了一个非常相似的问题。对我来说似乎很有效!

标签: macos memcached osx-lion libevent


【解决方案1】:

您有一套旧的开发人员工具。 gcc 将其版本报告为 4.0.1。这可能是从旧版本的操作系统迁移后遗留下来的。如果您已安装 Xcode 4.3.x,则需要启动它,进入其首选项,选择 Locations 选项卡,然后单击命令行工具包旁边的“安装”。

【讨论】:

  • 如果您正在阅读此答案,这绝对是您应该做的事情,但请注意,它不会解决您尝试构建的其他软件包的问题。因此,首先安装命令行工具,然后查看@sterescott 下面的答案,这应该可以解决您的问题。一些像 mod_jk 这样的包在 configure 中使用 /usr/sbin/apxs -q CC 来请求 C 编译器。 APXS 将其吐出,但路径错误,这就是您不断收到错误的原因。
  • 这有所帮助,但最终修复来自这里:glenscott.co.uk/blog/2011/08/29/…
  • 命令行工具包 ars 现在可在:developer.apple.com/downloads
  • 在 Xcode 7 中,命令行工具位于 Locations 选项卡中。就我而言,我通过选择 Xcode 7.3.1 解决了安装 python 的问题
  • 如果有人在 2017 年或以后阅读此内容,您应该将系统日期设置回 2013 年 2 月,否则将出现错误,声称蓝牙 pkg 不受信任。证书过期的一些问题。
【解决方案2】:

检查您的clang 所在位置:

which clang

它应该在/usr/bin/clang 下的某个地方。 在我以前的情况下,它来自 Miniconda,它被人为地放在命令行 PATH 上。修复这个问题,让 clang 来自 Xcode,这应该会让你前进。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      当我尝试安装 Pod 时,我在构建 react-native 应用程序时遇到了这个问题。我必须导出 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'
      

      【讨论】:

        【解决方案5】:

        首先使用获取gcc路径

        命令:which gcc

        输出:/usr/bin/gcc

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

        CC=/usr/bin/gcc rvm install 1.9.3

        稍后如果您得到“Ruby was built without documentation”,请在命令下方运行

        rvm 文档生成-ri

        【讨论】:

        • 也适用于 High Sierra
        【解决方案6】:

        关于 clang iOS 交叉编译器

        我发现问题出在 miphoneos-version-min=5.0 。我已更改为 miphoneos-version-min=8.0 。现在可以了。

        我只是想建议使用创建一个简单的 test.c 文件并通过在日志中写入的命令进行编译。

        【讨论】:

          【解决方案7】:

          我安装了 10.8 和带有命令行工具的 Xcode 4.4,但我仍然收到此错误。我注意到我的 config.log 中有两行相关的行,而不是重新安装 Xcode:

          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
          

          根据 cmets 的建议,如果您在 Yosemite (10.10) 或 Mavericks (10.9) 上遇到此问题,您可以更新上面的符号链接命令以指向该特定版本(OSX10.9.xctoolchainOSX10.10.xctoolchain)。

          【讨论】:

          • 这对我有用,谢谢!我全新安装了 OSX 10.8 和最新的 Xcode + 命令行工具,所以这似乎不是与升级 OSX 相关的问题。
          • @James 好点。我也全新安装了 OSX 10.8。
          • cd /Applications/Xcode.app/Contents/Developer/Toolchains;sudo ln -s XcodeDefault.xctoolchain OSX10.8.xctoolchain
          • 这对我不起作用。对我有用的是升级我的命令行工具(见stackoverflow.com/a/19993810/130664)。
          • 在 Mavericks 上也一样:sudo ln -s XcodeDefault.xctoolchain OSX10.9.xctoolchain
          【解决方案8】:

          确保您的 Xcode 应用程序名称中没有空格(如果您保留旧版本,可能会发生这种情况 - 例如将其重命名为“Xcode 4.app”);构建工具将在 Xcode 包路径中被引用,并且许多脚本无法正确处理带有空格的引用。

          【讨论】:

            【解决方案9】:

            我疯狂地阅读了这个页面,希望找到解决方案:

            "configure: error: C compiler cannot create executables"
            

            最后没有任何效果,因为我的问题是“打字”问题,并且与 CFLAGS 有关。 在我的 .bash_profile 文件中,我有:

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

            如您所见 --- export ARM_ARCH="arm64" --- 最后一个引号与第一个引号不同。第一个 ( " ) 是合法的,而第二个(“)不是。
            发生这种情况是因为我错误地使用了 TextEdit(我在 MacOS 下工作),这显然是一个称为 SmartQuotes 的功能:每当您在旁边编辑某些内容时,引号会自行更改为非法样式。
            经验教训:使用适当的文本编辑器...

            【讨论】:

              【解决方案10】:

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

              PS。 steroscott 的回答不久前解决了我的问题……这次不是这样。

              在我的情况下,rvm 正在尝试通过自制软件使用下载的 gcc。我运行了 gcc 的 brew uninstall(对我来说是 gcc46)并重新运行了 ruby​​ 安装的代码(旧项目旧 ruby​​ v)

              $ brew uninstall gcc46
              
              $ rvm install 1.9.3
              

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

              【讨论】:

              • rbenv 给我的重要信息是:对于大多数程序,llvm-gcc 编译器工作正常。但是,早于 1.9.3-p125 的 Ruby 版本与 llvm-gcc 不兼容。要构建旧版本的 Ruby,您必须在系统上安装官方 GCC 编译器。解决问题:使用以下命令安装 Homebrew 的 apple-gcc42 软件包: brew tap homebrew/dupes ; brew install apple-gcc42
              【解决方案11】:

              在我的情况下,我尝试了xcode-select --install,但它说它在商店中不可用。然后,受到 Rimian 的启发,我检查了我的 gcc:gcc -v,然后我收到一条消息说我不同意。

              从那时起,我只是按照gcc -v 的协议流程,在我同意它对我来说很好之后。

              【讨论】:

                【解决方案12】:

                将“clang”设置为编译器配置应该对我有用:

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

                【讨论】:

                  【解决方案13】:

                  我刚刚在构建 apache 时遇到了这个问题。我使用的解决方案和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 Mavericks

                  【讨论】:

                  • 谢谢,这在 OS X 上为 Apache 运行 ./configure 有效
                  【解决方案14】:

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

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

                  $ xcode-select --install
                  

                  现在 Apple 希望您在使用这些工具之前同意他们的许可:

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

                  接受后,命令行工具将按预期工作。

                  【讨论】:

                  • 这对我有用; Xcode 已安装(干净的 Mavericks 安装),但没有自动安装命令行工具。
                  • 这对我来说效果很好。我正在安装 iperf3,但一直收到错误消息:“c 编译器无法安装可执行文件”。我使用了“xcode-select --install”,效果很好。
                  • 这似乎解决了优胜美地的问题;即使 XCode 6 现在预装了命令工具,并且我可以从命令行运行 clang,./configure 仍然失败,直到我运行 xcode-select
                  • 某些系统/安全更新似乎禁用了许可协议,您必须再次执行此步骤。
                  • 安装 El Capitan 测试版后发生。
                  【解决方案15】:

                  对我来说,这是 gcc 的问题,gcc -v 突出显示。最近要升级 Xcode this post 说要做 sudo xcode-select -switch /Applications/Xcode.app 解决了这个问题。

                  【讨论】:

                    【解决方案16】:

                    我已经在 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 尝试构建内容的目录中)

                    【讨论】:

                    • 在 config.log 中我看到 CC='/usr/bin/gcc-4.2' 但我对目录进行了 ls 操作,但什么也没有。所以这个问题很清楚。我创建了符号链接和 BAM!都很好。
                    • 经过大量搜索,这正是我需要的技巧!谢谢-
                    • ln:gcc-4.2.1:不允许操作。尝试这些步骤时出现此错误。
                    猜你喜欢
                    • 2013-09-24
                    • 1970-01-01
                    • 2021-04-23
                    • 2019-02-03
                    • 1970-01-01
                    • 2020-01-21
                    • 2018-08-02
                    • 2014-04-12
                    • 2018-06-08
                    相关资源
                    最近更新 更多