
I've tried off and on the last couple of days to build Lambdabot on Mac OS X (before and after the upgrade from 10.6 to 10.7) and I keep running into linker errors with the 64-bit Haskell Platform (ghc 7.0.3). First, there's the issue with linking against libiconv, which is solved this way: cabal install --extra-lib-dirs=/usr/lib That leaves a whole mess of link errors against libHSreadline: Linking dist/build/lambdabot/lambdabot ... ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame Undefined symbols for architecture x86_64: "_rl_insert_completions", referenced from: _readlinezm1zi0zi1zi0_SystemziConsoleziReadline_zdwa5_info in libHSreadline-1.0.1.0.a(Readline.o) "_rl_possible_completions", referenced from: _readlinezm1zi0zi1zi0_SystemziConsoleziReadline_zdwa7_info in libHSreadlin (full error report at http://hpaste.org/50036 ) I did manage to install readline through macports: $ port installed readline The following ports are currently installed: readline @6.2.000_0 (active) $ file /opt/local/lib/libreadline.dylib /opt/local/lib/libreadline.dylib: Mach-O 64-bit dynamically linked shared library x86_64 and I did manage to get readline installed properly by specifying the include/lib dirs from macports: cabal install readline --configure-option=--with-readline-libraries=/opt/local/lib --configure-option=--with-readline-includes=/opt/local/include and readline does work in ghci: $ ghci GHCi, version 7.0.3: http://www.haskell.org/ghc/ :? for help Prelude> :m + System.Console.Readline Prelude System.Console.Readline> readline "testing> " testing> exit exit Just "exit" Prelude System.Console.Readline> The only issue, which has me stumped, is that lambdabot can't seem to find the readline dependency. Adding the --with-readline options when trying to build lambdabot has no effect. Neither does adding --extra-lib-dirs=/opt/local/lib to cabal install. Anyone have a clue where to start to work around this? Would switching to ghc HEAD help here? Thanks, -- Adam