配置:错误:C编译器无法创建可执行文件-Mac Sierra

时间:2019-09-21 01:09:39

标签: c macos gcc homebrew lirc

我知道这些内容以前已经发布过,但我被困住了,甚至看不到任何东西,即使阅读了针对我类似问题的大量回复。

我从这篇文章的标题中得到了可怕的“ C编译器无法...”。

我在macOS Sierra上(关于为什么落后的长话),并安装了XCode CLT 9.2。我放弃了完整的XCode应用程序,然后直接进入CLT-从Dev区域安装。

否则,我有最新的Homebrew,GCC,Dialog,Libtool和Automake / Autoconf-有些是我要编译和安装的LIRC系统(IR子系统)的先决条件。

brew config显示它正确地看到了正确的XCode CLT,所以我猜测那是可以的。

我在尝试启动并运行该系统的./configure时出现错误……这是输出:

Configuration: .setup.config, executable shell script: configure.sh
Starting the generated shell script which will call configure with the right
parameters...
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 whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/Volumes/Macintosh HD Giant/Users/Nidocamen/Downloads/LIRC-port-for-Mac-OS-X-master':
configure: error: C compiler cannot create executables
See `config.log' for more details

这可能是LIRC文件夹上的权限问题,但可以访问。

我放置了一个符号链接,以确保gcc在/ usr / local / bin中运行gcc-9,并确保该路径在/ usr / bin之前(Brew Doctor不再抱怨了)。

无论如何,否则我真的不确定是什么导致了此失败。我以前曾经是开发人员,但更多的是在Web应用程序方面,而不是在此级别。

如果有人有什么建议,我很想听听他们...谢谢! :)

UPDATE-这是日志中的一些输出,似乎可以缩小此范围。虽然创建此安装程序的人声称它可以在最新的macOS版本上很好地工作,但似乎所使用的某些代码确实过时了,这可能就是为什么它没有编译的原因。

Configured with: ../configure --build=x86_64-apple-darwin16 --prefix=/usr/local/Cellar/gcc/9.2.0 --libdir=/usr/local/Cellar/gcc/9.2.0/lib/gcc/9 --disable-nls --enable-checking=release --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-9 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-system-zlib --with-pkgversion='Homebrew GCC 9.2.0' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues
Thread model: posix
gcc version 9.2.0 (Homebrew GCC 9.2.0) 
configure:3322: $? = 0
configure:3311: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3322: $? = 1
configure:3311: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3322: $? = 1
configure:3342: checking whether the C compiler works
configure:3364: gcc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.9   conftest.c  >&5
ld: library not found for -lSystem
collect2: error: ld returned 1 exit status
configure:3368: $? = 1
configure:3406: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "lirc"
| #define VERSION "0.9.1-git"
| /* end confdefs.h.  */

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,就我而言,“未找到 -lSystem 的库”是由我的 .bash_profile 中的一行引起的

别名 openclc=/System/Library/Frameworks/OpenCL.framework/Libraries/openclc

不知道为什么我把它放在那里,但不混淆它解决了我的问题......