cabal安装`gcc'在'C编译器'阶段失败

Eti*_*ard 11 gcc haskell cabal-install

我想parsec用于个人项目.但是当我调用时cabal install parsec,我收到一个错误:

clang: error: unknown argument: '-no-pie'
gcc' failed in phase `C Compiler'. (Exit code: 1)
Run Code Online (Sandbox Code Playgroud)

我在OS X El Capitan,10.11.6.如果我已正确理解他上面的错误信息,gcc似乎是原因.当我检查版本时gcc,我明白了

gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.0 (clang-700.1.76)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)

此外,我在"C编译器"阶段读到了这个`gcc.exe'失败了.(退出代码:1)之后stack setup--reinstall,stack install parsec工作得非常好.但是,总是不会.你能帮助我吗?

Sea*_*rge 17

我在同一时间遇到同样的问题:-)

我在stackoverflow上找到的大多数答案即将更新Xcode.

但!我从2013年就看到了这些建议,在那种情况下,我无法更新Xcode,因为我有旧的Macbook和OS X 10.11,我试过: brew install gcc 下一步我想知道如何在Xcode上设置Gnu C Compler现在发现怎么样.在你的收藏中打开终端.编辑:

mate /Library/Frameworks/GHC.framework/Versions/8.4.2-x86_64/usr/lib/ghc-8.4.2/settings

并改变这个:

, ("C compiler command","gcc")
, ("C compiler flags"," -fno-stack-protector")
, ("C compiler link flags"," ")
, ("C compiler supports -no-pie","YES")
, ("Haskell CPP command","gcc")
Run Code Online (Sandbox Code Playgroud)

/usr/local/bin/gcc-8替代gcc"NO"替代"YES»

希望它能帮助<3

  • 设法通过编辑`〜/ .stack/programs/...`文件夹中的`settings`来修复该警告.这是堆栈安装`ghc`以将其与系统`ghc`隔离的地方 (3认同)