2013-01-13 8 views
5

arbeiten Ich versuche an example mit EnableGUIzu laufen.kann wxHaskell nicht von ghci auf Mac

% ghci -framework Carbon Main.hs 

*Main> enableGUI >> main 

Dies ist, was ich anstelle eines Arbeitsprogramms erhalten:

2013-01-14 00:21:03.021 ghc[13403:1303] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /SourceCache/Foundation/Foundation-945.11/Misc.subproj/NSUndoManager.m:328 
2013-01-14 00:21:03.022 ghc[13403:1303] +[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread. 
2013-01-14 00:21:03.024 ghc[13403:1303] (
    0 CoreFoundation      0x00007fff8c8ea0a6 __exceptionPreprocess + 198 
    1 libobjc.A.dylib      0x00007fff867243f0 objc_exception_throw + 43 
    2 CoreFoundation      0x00007fff8c8e9ee8 +[NSException raise:format:arguments:] + 104 
    3 Foundation       0x00007fff884966a2 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 189 
    4 Foundation       0x00007fff884fc8b7 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 156 
    5 AppKit        0x00007fff8ecb832d -[NSApplication run] + 687 
    6 libwx_osx_cocoau_core-2.9.4.0.0.dylib 0x000000010ae64c96 _ZN14wxGUIEventLoop5DoRunEv + 40 
    7 libwx_baseu-2.9.4.0.0.dylib   0x000000010b37e0e5 _ZN13wxCFEventLoop3RunEv + 63 
    8 libwx_baseu-2.9.4.0.0.dylib   0x000000010b2e91bf _ZN16wxAppConsoleBase8MainLoopEv + 81 
    9 libwx_osx_cocoau_core-2.9.4.0.0.dylib 0x000000010ae1b04f _ZN5wxApp5OnRunEv + 29 
    10 libwx_baseu-2.9.4.0.0.dylib   0x000000010b32e8d1 _Z7wxEntryRiPPw + 102 
    11 libwxc.dylib      0x000000010bc8a9a4 ELJApp_InitializeC + 116 
    12 ???         0x000000010beb9702 0x0 + 4494956290 
) 
2013-01-14 00:21:03.024 ghc[13403:1303] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /SourceCache/Foundation/Foundation-945.11/Misc.subproj/NSUndoManager.m:328 

Wenn ich kompilieren und macosx-app es, es funktioniert recht gut, aber aus offensichtlichen Gründen, ich möchte wirklich, dies zu arbeiten von ghci.

Was kann ich tun? Google verrät nichts über die mysteriösen Probleme von NSUndoManager mit Haskell. :(

Antwort

0

wxHaskell nicht innerhalb GHCI eine Zeit lang gearbeitet. Scheinbar C++ Speicherverwaltung und die Wiederverwendung von Komponenten innerhalb GHCI Probleme verursacht. Sie juat haben wiederholt Haupt neu zu schreiben. :(

Die faq sagt

GHCi können statische und dynamische Bibliotheken nicht mischen, es wird in naher Zukunft in wxHaskell gelöst werden

3

GHCI -fno-GHCI-Sandbox

.

Werke für mich auf OSX 10.8, wx 0.90.0.1

dank Heinrich: https://github.com/jodonoghue/wxHaskell/pull/6

+0

Zusatz 'ghc-Optionen: -fno-GHCI-sandbox' in der Clique Datei/(Executable Abschnitt) machen ist arbeite auch in Leksah/ghci - Debugger. –

+0

Ausprobiert und bestätigt 'ghc-options: -fno-ghci-sandbox' löst das Problem. Danke Luc Taesch! – Slabko