ghci in 7.6 and older uses its own special linker.This is responsible to many many linking bugs in ghci

try GHC head (and soon ghc 7.8) and see if the problem goes away. GHCi in HEAD / 7.7 uses the system linker. 
Otherwise please please please file a ticket on GHC Trac so it can be fixed asap.

NB: there may or may not be problems with one of the *BSD dynamic linkers, I don't recall. But if you hit troubles with GHC head, please report them and the ghc devs will work with you to figure out a fix.




On Mon, Dec 9, 2013 at 1:43 AM, Alexander Pakhomov <ker0sin@yandex.ru> wrote:
Hi. Trying to runhaskell following:

import Graphics.UI.Gtk

main = print "OK"

I got
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
   locale_charset
whilst processing object file
   /usr/local/lib/libintl.a
This could be caused by:
   * Loading two different object files which export the same symbol
   * Specifying the same object file twice on the GHCi command line
   * An incorrect `package.conf' entry, causing some object to be
     loaded twice.
GHCi cannot safely continue in this situation.  Exiting now.  Sorry.

ghc works fine and creates working executable. In ghci "import Graphics.UI.Gtk" works too.

What is the difference between runhaskell, ghci interactive and ghc linkers?
ghc 7.6.3 running on OpenBSD. It is built from ports system with default patches. I don't see any patch that touches GHCi linker.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe