OS X上的HsOpenSSL段错误

pas*_*ash 5 macos ssl haskell openssl

我试图在Mac OS X上给HsOpenSSL一个旋风,它在我脸上爆炸了.

最新的Hackage版本(HsOpenSSL-0.10.3.3)构建和导入,但用它做任何事都会导致我的GHCi(7.6.3和7.4.2)被杀死:

ghci> import OpenSSL
ghci> withOpenSSL $ do undefined
$ # Now I'm looking at a shell prompt
Run Code Online (Sandbox Code Playgroud)

我把一个可执行文件放在一起并用GHC构建它,而且是一个段错误:

$ ./test
Segmentation fault: 11
Run Code Online (Sandbox Code Playgroud)

我正在使用OS X 10.8附带的OpenSSL版本:

$ openssl version
OpenSSL 0.9.8r 8 Feb 2011
Run Code Online (Sandbox Code Playgroud)

(我现在也安装了最新版本的OpenSSL,v1.0.1e,并针对它构建了HsOpenSSL.再次构建和导入很好,但在任何调用OpenSSL时都会出现段错误.)

这可能是OpenSSL的问题,或者使用OS X而不是Linux的一些特性,但我的安装在Python的OpenSSL库中运行良好....

任何人都可以复制这个,或者给我任何调试技巧?

Ire*_*app 2

恐怕我还有另一个负面报告 - 它在 OS X 上对我有用。假设,我可能正在使用一个我可能不被允许提及的版本,所以这可能是区别......

module Main (main) where

import OpenSSL


main :: IO ()
main = withOpenSSL $ do
  putStrLn "Hm."
Run Code Online (Sandbox Code Playgroud)

然后我可以运行它:

$ ghc Crash.hs
... [it compiles] ...
$ ./Crash
Hm.
Run Code Online (Sandbox Code Playgroud)

它成功了。我正在使用 GHC 7.6.3、HsOpenSSL 0.10.3.3 和 OpenSSL 0.9.8y,最后日期为 2013 年 2 月 5 日。