【问题标题】:HsOpenSSL segfaults on OS XOS X 上的 HsOpenSSL 段错误
【发布时间】:2013-05-20 01:46:25
【问题描述】:

我正在尝试在 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

我将一个可执行文件放在一起并用 GHC 构建它,瞧,一个段错误:

$ ./test
Segmentation fault: 11

我使用的是 OS X 10.8 自带的 OpenSSL 版本:

$ openssl version
OpenSSL 0.9.8r 8 Feb 2011

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

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

谁能复制这个,或者给我任何调试提示?

【问题讨论】:

  • 您使用的是什么版本的 HsOpenSSL 和 ghc?
  • 这对我来说很好用。 Linux 上的 OpenSSL 1.0.1e、HsOpenSSL-0.10.3.3、ghc 7.6.3 x86-64。
  • @Thomas M. DuBuisson,感谢您的检查。这就是我所期望的;问题可能与 OS X 有关。
  • @FedorGogolev,我在问题中添加了版本信息。我现在正在为 GHC 7.6.3 安装和构建所有内容,稍后我会报告这些结果。

标签: macos haskell ssl openssl


【解决方案1】:

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

module Main (main) where

import OpenSSL


main :: IO ()
main = withOpenSSL $ do
  putStrLn "Hm."

然后我可以运行它:

$ ghc Crash.hs
... [it compiles] ...
$ ./Crash
Hm.

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-13
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    相关资源
    最近更新 更多