Multithreading 无法在OSX上使用选项-staticlib和-threaded构建Haskell项目

Multithreading 无法在OSX上使用选项-staticlib和-threaded构建Haskell项目,multithreading,macos,haskell,ghc,ffi,Multithreading,Macos,Haskell,Ghc,Ffi,我在OSX 10.9.3上使用GHC 7.8.2和Cabal 1.20.0.2构建Haskell库时遇到问题,同时启用了-staticlib和-threaded 我正在构建的库使用FFI导出多个函数,这些函数将在Xcode项目中从Objective调用。这在启用just-staticlib的情况下运行良好,但现在我意识到我需要同时从多个OS线程调用Haskell库。但当我向ghc选项添加线程时,链接时会出现错误: error: libtool: can't locate file for: -l

我在OSX 10.9.3上使用GHC 7.8.2和Cabal 1.20.0.2构建Haskell库时遇到问题,同时启用了-staticlib和-threaded

我正在构建的库使用FFI导出多个函数,这些函数将在Xcode项目中从Objective调用。这在启用just-staticlib的情况下运行良好,但现在我意识到我需要同时从多个OS线程调用Haskell库。但当我向ghc选项添加线程时,链接时会出现错误:

error: libtool: can't locate file for: -lpthread
error: libtool: file: -lpthread is not an object file (not allowed in a library)
完整输出:

$ cabal build
Resolving dependencies...
Configuring dpsync-0.1.0.0...
Building dpsync-0.1.0.0...
Preprocessing library dpsync-0.1.0.0...
[ 1 of 11] Compiling Link             ( src/Link.hs, dist/build/Link.o )
...
[11 of 11] Compiling HsCocoa          ( src/HsCocoa.hs, dist/build/HsCocoa.o )
Linking liba.a ...
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't locate file for: -lpthread
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: -lpthread is not an object file (not allowed in a library)
失败的链接器命令如下所示。。。替换一组-l和-l选项:

libtool -static -o liba.a dist/build/HsCocoa.o ... -lCffi -lpthread
有人知道会出什么问题吗

编辑:

在Haskell Cafe上讨论过这一点后,有人认为这可能是GHC中的一个bug。我在这里创建了一张票证: