The compilation command should states which packages are used and avoid the default mechnasim that automatically search for them.

This can be done by the flags -hide-packages and then -package foo

My ghc does not have a --hide-packages option.

Could you just show the build problem that you are suggesting I work around? --Joey

Thanks npouillard, I see the problem now. http://stackoverflow.com/questions/2048953/control-monad-state-found-in-multiple-packages-haskell

I've added "-ignore-package monads-fd" to GHCFLAGS. I hope I don't really have to hide all packages and individually turn them back on; surely this monads-fd/mtl conflict is an exception, and Haskell's module system is not a mess of conflicting modules? --Joey done

If you install the monads-fd package (with cabal install for instance), then you can no longer build git-annex:

./configure
  checking cp -a... yes
  checking cp -p... yes
  checking cp --reflink=auto... yes
  checking uuid generator... uuid
  checking xargs -0... yes
  checking rsync... yes
ghc -O2 -Wall --make git-annex

Annex.hs:22:7:
    Ambiguous module name `Control.Monad.State':
      it was found in multiple packages: monads-fd-0.2.0.0 mtl-2.0.1.0
make: *** [git-annex] Error 1
Comment by http://ertai.myopenid.com/ Mon Feb 7 14:12:43 2011
Comments on this page are closed.