[Haskell-cafe] After upgrade bytestring to 0.9.1.3, my program cannot run.

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Tue Oct 7 01:50:22 EDT 2008


On Mon, 2008-10-06 at 20:21 -0700, Don Stewart wrote:
> magicloud.magiclouds:
> > Just a simple text process program. When I runhaskell it. I got:
> > 
> > GHCi runtime linker: fatal error: I found a duplicate definition for symbol
> >   fps_minimum
> > whilst processing object file
> >   ~/.cabal/lib/bytestring-0.9.1.3/ghc-6.8.3/HSbytestring-0.9.1.3.o

> Or try compiling it , with ghc --make

The reason is that while the Haskell code uses versioned linker symbols,
the C code in the bytestring library does not. That means both versions
define fps_minimum and a few other functions.

The system linker does not care and just picks one. The GHCi linker is
more picky and complains when two object files define the same linker
symbol. That's why you get the problem with GHCi and not ghc --make.

Duncan



More information about the Haskell-Cafe mailing list