
I have the Haskell Platform (version 7.0.4 of ghc) installed on my macbook (OS X 10.7 Lion) and I'd like to install glib. However, when I try cabal install glib, I get: cabal install glib Resolving dependencies... [1 of 2] Compiling SetupWrapper ( /tmp/glib-0.12.25777/glib-0.12.2/SetupWrapper.hs, /tmp/glib-0.12.25777/glib-0.12.2/dist/setup/SetupWrapper.o ) [2 of 2] Compiling Main ( /tmp/glib-0.12.25777/glib-0.12.2/Setup.hs, /tmp/glib-0.12.25777/glib-0.12.2/dist/setup/Main.o ) Linking /tmp/glib-0.12.25777/glib-0.12.2/dist/setup/setup ... ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame [1 of 2] Compiling Gtk2HsSetup ( Gtk2HsSetup.hs, dist/setup-wrapper/Gtk2HsSetup.o ) [2 of 2] Compiling Main ( SetupMain.hs, dist/setup-wrapper/Main.o ) Linking dist/setup-wrapper/setup ... ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame Cannot find gtk2hsC2hs Please install `gtk2hs-buildtools` first and check that the install directory is in your PATH (e.g. HOME/.cabal/bin). cabal: Error: some packages failed to install: glib-0.12.2 failed during the configure step. The exception was: ExitFailure 1 ------- I've tried cabal install gtk2hs-buildtools, and appears to complete (it does have two compilation warnings), but that doesn't help. Any suggestions? Victor Miller Here's the result cabal install gtk2hs-buildtools: bash-3.2$ sudo cabal install gtk2hs-buildtools Resolving dependencies... Configuring gtk2hs-buildtools-0.12.1... Preprocessing executables for gtk2hs-buildtools-0.12.1... Building gtk2hs-buildtools-0.12.1... [1 of 2] Compiling Paths_gtk2hs_buildtools ( dist/build/autogen/Paths_gtk2hs_buildtools.hs, dist/build/gtk2hsTypeGen/gtk2hsTypeGen-tmp/Paths_gtk2hs_buildtools.o ) [2 of 2] Compiling Main ( hierarchyGen/TypeGen.hs, dist/build/gtk2hsTypeGen/gtk2hsTypeGen-tmp/Main.o ) Linking dist/build/gtk2hsTypeGen/gtk2hsTypeGen ... ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame [1 of 2] Compiling Paths_gtk2hs_buildtools ( dist/build/autogen/Paths_gtk2hs_buildtools.hs, dist/build/gtk2hsHookGenerator/gtk2hsHookGenerator-tmp/Paths_gtk2hs_buildtools.o ) [2 of 2] Compiling Main ( callbackGen/HookGenerator.hs, dist/build/gtk2hsHookGenerator/gtk2hsHookGenerator-tmp/Main.o ) Linking dist/build/gtk2hsHookGenerator/gtk2hsHookGenerator ... ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame [ 1 of 41] Compiling DLists ( c2hs/base/general/DLists.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/DLists.o ) dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.hs:1:12: Warning: -fglasgow-exts is deprecated: Use individual extensions instead [ 2 of 41] Compiling BaseVersion ( c2hs/base/admin/BaseVersion.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/BaseVersion.o ) [ 3 of 41] Compiling Switches ( c2hs/state/Switches.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Switches.o ) [ 4 of 41] Compiling Map ( c2hs/base/general/Map.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Map.o ) [ 5 of 41] Compiling FastMutInt ( c2hs/base/general/FastMutInt.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/FastMutInt.o ) [ 6 of 41] Compiling Config ( c2hs/base/admin/Config.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Config.o ) [ 7 of 41] Compiling C2HSConfig ( c2hs/toplevel/C2HSConfig.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/C2HSConfig.o ) [ 8 of 41] Compiling CInfo ( c2hs/gen/CInfo.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CInfo.o ) [ 9 of 41] Compiling Version ( c2hs/toplevel/Version.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Version.o ) [10 of 41] Compiling Binary ( c2hs/base/general/Binary.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Binary.o ) [11 of 41] Compiling Position ( c2hs/base/general/Position.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Position.o ) [12 of 41] Compiling UNames ( c2hs/base/general/UNames.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/UNames.o ) [13 of 41] Compiling Errors ( c2hs/base/errors/Errors.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Errors.o ) [14 of 41] Compiling Attributes ( c2hs/base/syms/Attributes.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Attributes.o ) [15 of 41] Compiling Idents ( c2hs/base/syms/Idents.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Idents.o ) [16 of 41] Compiling CTokens ( c2hs/c/CTokens.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CTokens.o ) [17 of 41] Compiling CAST ( c2hs/c/CAST.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CAST.o ) [18 of 41] Compiling CPretty ( c2hs/c/CPretty.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CPretty.o ) [19 of 41] Compiling Lexers ( c2hs/base/syntax/Lexers.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Lexers.o ) [20 of 41] Compiling StateTrans ( c2hs/base/state/StateTrans.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/StateTrans.o ) [21 of 41] Compiling StateBase ( c2hs/base/state/StateBase.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/StateBase.o ) [22 of 41] Compiling NameSpaces ( c2hs/base/syms/NameSpaces.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/NameSpaces.o ) [23 of 41] Compiling CAttrs ( c2hs/c/CAttrs.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CAttrs.o ) [24 of 41] Compiling CBuiltin ( c2hs/c/CBuiltin.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CBuiltin.o ) [25 of 41] Compiling CParserMonad ( c2hs/c/CParserMonad.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CParserMonad.o ) [26 of 41] Compiling CLexer ( dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.o ) dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.hs:454:17: Warning: Bindings containing unlifted types should use an outermost bang pattern: base = alexIndexInt32OffAddr alex_base s In the expression: let base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c offset = (base +# ord_c) .... in case new_s of { -1# -> (new_acc, input) _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } In a case alternative: Just (c, new_input) -> let base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c .... in case new_s of { -1# -> (new_acc, input) _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } In the second argument of `seq', namely `case alexGetChar input of { Nothing -> (new_acc, input) Just (c, new_input) -> let base = ... .... in case new_s of { -1# -> ... _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } }' dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.hs:455:17: Warning: Bindings containing unlifted types should use an outermost bang pattern: (I# (ord_c)) = ord c In the expression: let base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c offset = (base +# ord_c) .... in case new_s of { -1# -> (new_acc, input) _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } In a case alternative: Just (c, new_input) -> let base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c .... in case new_s of { -1# -> (new_acc, input) _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } In the second argument of `seq', namely `case alexGetChar input of { Nothing -> (new_acc, input) Just (c, new_input) -> let base = ... .... in case new_s of { -1# -> ... _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } }' dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.hs:456:17: Warning: Bindings containing unlifted types should use an outermost bang pattern: offset = (base +# ord_c) In the expression: let base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c offset = (base +# ord_c) .... in case new_s of { -1# -> (new_acc, input) _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } In a case alternative: Just (c, new_input) -> let base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c .... in case new_s of { -1# -> (new_acc, input) _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } In the second argument of `seq', namely `case alexGetChar input of { Nothing -> (new_acc, input) Just (c, new_input) -> let base = ... .... in case new_s of { -1# -> ... _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } }' dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.hs:457:17: Warning: Bindings containing unlifted types should use an outermost bang pattern: check = alexIndexInt16OffAddr alex_check offset In the expression: let base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c offset = (base +# ord_c) .... in case new_s of { -1# -> (new_acc, input) _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } In a case alternative: Just (c, new_input) -> let base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c .... in case new_s of { -1# -> (new_acc, input) _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } In the second argument of `seq', namely `case alexGetChar input of { Nothing -> (new_acc, input) Just (c, new_input) -> let base = ... .... in case new_s of { -1# -> ... _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } }' dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.hs:459:17: Warning: Bindings containing unlifted types should use an outermost bang pattern: new_s = if (offset >=# 0#) && (check ==# ord_c) then alexIndexInt16OffAddr alex_table offset else alexIndexInt16OffAddr alex_deflt s In the expression: let base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c offset = (base +# ord_c) .... in case new_s of { -1# -> (new_acc, input) _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } In a case alternative: Just (c, new_input) -> let base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c .... in case new_s of { -1# -> (new_acc, input) _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } In the second argument of `seq', namely `case alexGetChar input of { Nothing -> (new_acc, input) Just (c, new_input) -> let base = ... .... in case new_s of { -1# -> ... _ -> alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc } }' [27 of 41] Compiling FNameOps ( c2hs/base/general/FNameOps.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/FNameOps.o ) [28 of 41] Compiling FileOps ( c2hs/base/general/FileOps.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/FileOps.o ) [29 of 41] Compiling CIO ( c2hs/base/state/CIO.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CIO.o ) [30 of 41] Compiling State ( c2hs/base/state/State.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/State.o ) [31 of 41] Compiling C2HSState ( c2hs/state/C2HSState.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/C2HSState.o ) [32 of 41] Compiling CHSLexer ( c2hs/chs/CHSLexer.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CHSLexer.o ) [33 of 41] Compiling CHS ( c2hs/chs/CHS.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CHS.o ) [34 of 41] Compiling GenHeader ( c2hs/gen/GenHeader.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/GenHeader.o ) [35 of 41] Compiling CTrav ( c2hs/c/CTrav.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CTrav.o ) [36 of 41] Compiling CNames ( c2hs/c/CNames.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CNames.o ) [37 of 41] Compiling CParser ( dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CParser.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CParser.o ) [38 of 41] Compiling C ( c2hs/c/C.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/C.o ) [39 of 41] Compiling GBMonad ( c2hs/gen/GBMonad.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/GBMonad.o ) [40 of 41] Compiling GenBind ( c2hs/gen/GenBind.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/GenBind.o ) [41 of 41] Compiling Main ( c2hs/toplevel/Main.hs, dist/build/gtk2hsC2hs/gtk2hsC2hs-tmp/Main.o ) Linking dist/build/gtk2hsC2hs/gtk2hsC2hs ... ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame Warning: No documentation was generated as this package does not contain a library. Perhaps you want to use the --executables flag. Installing executable(s) in /Users/victorsmiller/Library/Haskell/ghc-7.0.4/lib/gtk2hs-buildtools-0.12.1/bin Updating documentation index /Users/victorsmiller/Library/Haskell/doc/index.html

On Sun, Jan 1, 2012 at 21:49, Victor Miller
Cannot find gtk2hsC2hs Please install `gtk2hs-buildtools` first and check that the install directory is in your PATH (e.g. HOME/.cabal/bin).
The message there is incorrect for Mac OS X; cabal installs executables somewhere under ~/Library/Haskell, and (inconsistently and incoherently) sometimes in per-package bin directories under that. This is a PITA that I don't know how to work around properly (just setting the bin directory ~/.cabal/config still seems to keep the occasional per-package bin directory silliness). Expect to have to "find ~/Library/Haskell -name bin -type d" periodically to figure out where cabal put stuff, and symlink it all to ~/bin or whatever. :/ -- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms
participants (2)
-
Brandon Allbery
-
Victor Miller