2013-05-20 10 views
5

पर HsOpenSSL segfaults मैं मैक ओएस एक्स पर एक भंवर 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 

मैं एक साथ एक निष्पादन कर दिया

$ ./test 
Segmentation fault: 11 

मुझे लगता है कि ओएस के साथ आता है OpenSSL के संस्करण एक्स 10.8 उपयोग कर रहा हूँ:

$ openssl version 
OpenSSL 0.9.8r 8 Feb 2011 
और GHC, और देखा, एक segfault साथ इसे बनाया

(मैंने अब ओपनएसएसएल, v1.0.1e का नवीनतम संस्करण भी स्थापित किया है, और इसके खिलाफ HsOpenSSL बनाया है। फिर से यह ठीक बनाता है और आयात करता है, लेकिन ओपनएसएसएल को किसी भी कॉल पर segfaults।)

यह ओपनएसएसएल के साथ एक समस्या है, या लिनक्स के बजाय ओएस एक्स का उपयोग करने की कुछ मूर्खता के साथ, लेकिन मेरी स्थापना पाइथन के ओपनएसएसएल के साथ ठीक काम करती है पुस्तकालय। ...

क्या कोई इसे दोहराने सकता है, या मुझे कोई डिबगिंग युक्तियाँ दे सकता है?

+1

और आप किस एचएसओपेनएसएसएल और जीसी का उपयोग कर रहे हैं? –

+1

यह मेरे लिए ठीक काम करता है। OpenSSL 1.0.1e, HsOpenSSL-0.10.3.3, जीएनसी 7.6.3 x86-64 लिनक्स पर। –

+0

@ थॉमस एम। डुबुइसन, जांच के लिए धन्यवाद। यही वह है जो मैंने अपेक्षित किया होगा; समस्या ओएस एक्स – pash

उत्तर

2

मुझे डर है कि मेरे पास एक और नकारात्मक रिपोर्ट है - यह मेरे लिए ओएस एक्स पर काम करती है। हाइपोटेटिक रूप से, मैं ऐसे संस्करण का उपयोग कर रहा हूं जिसे मुझे उल्लेख करने की अनुमति नहीं दी जा सकती है, हालांकि, यह अंतर हो सकता है। ..

module Main (main) where 

import OpenSSL 


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

तो मैं के साथ चला सकते हैं:

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

और यह सफल होता है। मैं जीएचसी 7.6.3, एचएसओपेनएसएस 0.10.3.3, और ओपनएसएसएल 0.9.8y का उपयोग कर रहा हूं, यह अंतिम दिनांक 5 फरवरी 2013.