在Mac OS X上安装Haskell库regex-pcre时出现问题

时间:2011-04-12 17:01:21

标签: macos haskell installation pcre

我正在尝试使用:

安装Haskell regex-pcre
cabal install --extra-include-dirs=/usr/local/include \
              --extra-include-dirs=/usr/include regex-pcre

但是我得到了这个奇怪的错误:

Resolving dependencies...
Configuring regex-pcre-0.94.2...
Preprocessing library regex-pcre-0.94.2...
In file included from /Library/Frameworks/GHC.framework/Versions/7.0.2-i386/usr/lib/ghc-7.0.2/include/HsFFI.h:68,
                 from /Library/Frameworks/GHC.framework/Versions/7.0.2-i386/usr/lib/ghc-7.0.2/template-hsc.h:4,
                 from dist/build/Text/Regex/PCRE/Wrap_hsc_make.c:1:
/usr/include/float.h:8:24: error: float.h: No such file or directory
In file included from /Library/Frameworks/GHC.framework/Versions/7.0.2-i386/usr/lib/ghc-7.0.2/template-hsc.h:9,
                 from dist/build/Text/Regex/PCRE/Wrap_hsc_make.c:1:
/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory
compiling dist/build/Text/Regex/PCRE/Wrap_hsc_make.c failed (exit code 1)
command was: /usr/bin/gcc -c dist/build/Text/Regex/PCRE/Wrap_hsc_make.c -o dist/build/Text/Regex/PCRE/Wrap_hsc_make.o -march=i686 -m32 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -fno-stack-protector -march=i686 -m32 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -fno-stack-protector -march=i686 -m32 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -D__GLASGOW_HASKELL__=700 -Ddarwin_BUILD_OS -Ddarwin_HOST_OS -Di386_BUILD_ARCH -Di386_HOST_ARCH -I/usr/include -I/usr/local/include -DHAVE_PCRE_H -DSPLIT_BASE=1 -I/Library/Frameworks/GHC.framework/Versions/7.0.2-i386/usr/lib/ghc-7.0.2/bytestring-0.9.1.10/include -I/Library/Frameworks/GHC.framework/Versions/7.0.2-i386/usr/lib/ghc-7.0.2/base-4.3.1.0/include -I/Library/Frameworks/GHC.framework/Versions/7.0.2-i386/usr/lib/ghc-7.0.2/include -I/Library/Frameworks/GHC.framework/Versions/7.0.2-i386/usr/lib/ghc-7.0.2/include -I/Library/Frameworks/GHC.framework/Versions/7.0.2-i386/usr/lib/ghc-7.0.2/include/
cabal: Error: some packages failed to install:
regex-pcre-0.94.2 failed during the building phase. The exception was:
ExitFailure 1

它的要点似乎是找不到第二个float.h文件:

/usr/include/float.h:8:24: error: float.h: No such file or directory

我打开了/usr/include/float.h,第8行读了:

#include_next <float.h>

我已经在谷歌上搜索了,虽然我不知道那么多C我觉得我理解那条线应该说什么,但是......我不知道如何真正解决这个问题。我不知道我的系统上还有float.h个文件。

我正在使用的GHC和GCC版本。 GCC来自XCode 4. GHC是32位,但我也尝试过64位版本,结果相同。

$ gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)

$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.0.2

OS X版本为10.6.7。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

在我看来ticket #5011 - Mac + GHC 7.0.2上的XCode 4无法链接。

这在GHC 7.0.3中得到修复,这将是4月中旬发布的Haskell平台的一部分。

另一种解决方案是降级到2010.2 Haskell平台。

昨天看到这个问题:Can't install OpenGLRaw-1.1.0.1 on OS X