在OS X Mountain Lion上构建“文本”库失败

时间:2012-07-28 11:08:36

标签: haskell osx-mountain-lion cabal-install

我正在尝试在OS X 10.8(Mountain Lion)上构建text库,但我得到以下错误:

beta@lucy:/tmp/text-0.11.2.2 ☺ $ cabal configure 
Resolving dependencies...
Configuring text-0.11.2.2...

/var/folders/2h/9h8d4hb57cl65ww61yxtkmv00000gn/T/4266.c:1:12:
     warning: control reaches end of non-void function [-Wreturn-type]
int foo() {}
           ^
1 warning generated.
beta@lucy:/tmp/text-0.11.2.2 ☺ $ cabal build    
Building text-0.11.2.2...
Preprocessing library text-0.11.2.2...

Data/Text.hs:6:52:  warning: missing terminating ' character
-- Copyright   : (c) 2009, 2010, 2011, 2012 Bryan O'Sullivan,
                                                   ^

Data/Text.hs:87:12:
     warning: missing terminating ' character
        , foldl'
               ^

     [snip]
                                         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
27 warnings and 20 errors generated.

我正在使用GHC 7.4.2。安装了以下版本的gcc / llvm-gcc(通过XCode的命令行工具):

gcc

beta@lucy:/tmp/text-0.11.2.2 ☹ $ which gcc
/usr/bin/gcc
beta@lucy:/tmp/text-0.11.2.2 ☺ $ gcc -v   
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

llvm-gcc

beta@lucy:/tmp/text-0.11.2.2 ☺ $ which llvm-gcc
/usr/bin/llvm-gcc
beta@lucy:/tmp/text-0.11.2.2 ☺ $ llvm-gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

指出问题可能是什么?其他人可以在Mountain Lion上构建text吗?

1 个答案:

答案 0 :(得分:1)

我在10.8.5上安装PAKCS时也遇到了这个问题。

我的解决方案是

  1. 安装Apple gcc-4.2
    brew install apple-gcc42
  2. 编辑/ usr / bin / ghc并按如下方式更改pgmgcc
    pgmgcc="/usr/local/bin/gcc-4.2"
  3. 参考What's the best workaround for not having "cabal upgrade"?
  4. 的回答重建所有包裹

    最后,我可以完成我的text软件包安装。

    我希望你玩得开心!

    另见: Cabal doesn't work on Mac OS X Lion because of gcc path