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-packagesoption.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