[Haskell-cafe] Haskeline, pcre-light, iconv and Cabal on OSX

Antoine Latter aslatter at gmail.com
Sun Feb 1 12:57:29 EST 2009


Funny story,

If I do the following three things, I get errors on my Intel Mac OS 10.5:

 * Build an executable with Cabal
 * Have the executable have a build-dep of pcre-light in the .cabal
 * use haskeline in the executable itself

I get crazy linker errors relating to haskeline and libiconv:

Shell output:
>>>>>
$ cabal clean && cabal configure && cabal build
cleaning...
Configuring test-0.0.0...
Preprocessing executables for test-0.0.0...
Building test-0.0.0...
[1 of 1] Compiling Main             ( test.hs, dist/build/test/test-tmp/Main.o )
Linking dist/build/test/test ...
Undefined symbols:
  "_iconv_open", referenced from:
      _s9Qa_info in libHShaskeline-0.6.0.1.a(IConv.o)
  "_iconv_close", referenced from:
      _iconv_close$non_lazy_ptr in libHShaskeline-0.6.0.1.a(IConv.o)
  "_iconv", referenced from:
      _sa0K_info in libHShaskeline-0.6.0.1.a(IConv.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
<<<<<

But all three above conditions need to be true - if I build using 'ghc
--make' everything works great, even if the executable imports
pcre-light and haskeline.  If I have build-deps on haskeline and
pcre-light, but don't actually import haskeline, everything also works
great.

Here are the files I've used:

test.hs:
>>>>>
import System.Console.Haskeline

main :: IO ()
main = print "Hello!"
<<<<<

test.cabal
>>>>>
Name:                test
version:             0.0.0
cabal-version:       >= 1.2
build-type:          Simple

Executable test
    main-is:             test.hs
    build-depends:       base, haskeline, pcre-light>=0.3
<<<<<

Is there some way I need to be building haskeline on OS X to make this work?

Thanks,
Antoine

more details:

>>>>>
$ cabal --version
cabal-install version 0.6.0
using version 1.6.0.1 of the Cabal library
<<<<<

>>>>>
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 6.10.0.20081007
<<<<<

links:
pcre-light: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/pcre-light
haskeline: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskeline


More information about the Haskell-Cafe mailing list