5

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 への呼び出しで segfault が発生します。)

これはおそらく OpenSSL の問題か、Linux ではなく OS X を使用することの特異性によるものですが、私のインストールは Python の OpenSSL ライブラリで問題なく動作します。...

誰でもこれを複製できますか、またはデバッグのヒントを教えてください。

4

1 に答える 1

2

残念ながら、別の否定的なレポートがあります-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 日のものです。

于 2013-06-20T03:56:56.477 に答える