[Haskell-cafe] Problems building lambdabot on osx
Antoine Latter
aslatter at gmail.com
Tue Aug 9 04:59:06 CEST 2011
On Mon, Aug 8, 2011 at 8:38 PM, Adam Turoff <adam.turoff at gmail.com> wrote:
> 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?
>
My usually technique for solving readline-related issues is to rip-out
readline from whatever I want to build, substituting in Haskeline if I
want nice editing.
It isn't very scientific, but I find it to be a more interesting
problem to solve.
I've given this a try in the Lambdabot source, but I'm getting
unrelated errors building it so I'm not sure it works.
Ripping out readline should be a brief bit of hacking in
Plugin/OfflineRC.hs, from what I can tell.
Antoine
More information about the Haskell-Cafe
mailing list