[Haskell-cafe] duplicate definition for symbol
austin s
as at nijoruj.org
Fri Jun 19 13:20:19 EDT 2009
Excerpts from Henk-Jan van Tuyl's message of Fri Jun 19 09:06:50 -0500 2009:
>
> L.S.,
>
> I am trying to run a program in GHCi, but I get a meesage that an object
> file is loaded twice; it appears that two different versions of package
> "process" are loaded, see the session text below. How can I solve this?
>
>
> GHCi, version 6.10.1: http://www.haskell.org/ghc/ :? for help
> Loading package ghc-prim ... linking ... done.
> Loading package integer ... linking ... done.
> Loading package base ... linking ... done.
> Prelude> :load "Main.lhs"
> [1 of 1] Compiling Main ( Main.lhs, interpreted )
> Ok, modules loaded: Main.
> *Main> :main
> Loading package syb ... linking ... done.
> Loading package base-3.0.3.0 ... linking ... done.
> Loading package array-0.2.0.0 ... linking ... done.
> Loading package containers-0.2.0.0 ... linking ... done.
> Loading package bytestring-0.9.1.4 ... linking ... done.
> Loading package old-locale-1.0.0.1 ... linking ... done.
> Loading package old-time-1.0.0.1 ... linking ... done.
> Loading package filepath-1.1.0.1 ... linking ... done.
> Loading package Win32-2.2.0.0 ... linking ... done.
> Loading package directory-1.0.0.2 ... linking ... done.
> Loading package random-1.0.0.1 ... linking ... done.
> Loading package time-1.1.2.2 ... linking ... done.
> Loading package stm-2.1.1.2 ... linking ... done.
> Loading package split-0.1.1 ... linking ... done.
> Loading package HUnit-1.2.0.3 ... linking ... done.
> Loading package QuickCheck-1.2.0.0 ... linking ... done.
> Loading package process-1.0.1.1 ... linking ... done.
> Loading package haskell98 ... linking ... done.
> Loading package mtl-1.1.0.2 ... linking ... done.
> Loading package parsec-2.1.0.1 ... linking ... done.
> Loading package network-2.2.0.1 ... linking ... done.
> Loading package hslogger-1.0.7 ... linking ... done.
> Loading package process-1.0.1.0 ...
>
> GHCi runtime linker: fatal error: I found a duplicate definition for symbol
> _runInteractiveProcess
> whilst processing object file
> C:\Programs\ghc\ghc-6.10.1\process-1.0.1.0\HSprocess-1.0.1.0.o
> 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.
>
>
The easiest solution would simply be to 'ghc-pkg unregister
process-1.0.1.1', and then rebuild all the packages that depend on it
against process-1.0.1.0.
The reason this is happening is simply because you have two libraries
you depend on, each of which depends on a different version of
process.
It's a fairly annoying error, that is prone to happen when you have
upgraded versions of GHC's bootlibs (i.e. necessary libraries for
GHC installation.)
Austin
More information about the Haskell-Cafe
mailing list