This is caused by OS X's libiconv being entirely CPP macros, the FFI has nothing to get hold of. IIRC there's a ghc bug report open for it.

Bob

On 1 Feb 2009, at 18:57, Antoine Latter wrote:

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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to