[Haskell] cabal conflicting rules
private at claudio.ch
Wed Oct 26 02:26:04 CEST 2011
many thanks to all who answered my post, I learned a lot by reading them
and the referenced web pages.
> You probably have some packages of yours installed as user and some
> others globally. Have a look at:
This explains well why I got the strange error.
> I recommend that as soon as you have a running Haskell Platform to
> always install new packages with cabal install ... --user
This is actually what I did. But this is not fool proof (and I was here
the fool), because I can still do harm by asking cabal to install
packages - which get registered in the user package db - that are part
of ghc - thus registered also in the global db.
So I decided now to go the all global route - which is not really global
as I did install ghc anyway in my own directory - so that there is only
one package db.
For the sake of anybody stumbling over this thread in the future, this
is what I do now:
# Fetch and untar both ghc and cabal-install, install ghc
tar xf ghc-7.0.4-x86_64-apple-darwin.tar.bz2
tar xf cabal-install-0.10.2.tar.gz
# Modify the path in bootstrap.sh for my own "global" directory
# and execute it with the --global option so that all packages it
# installs go to the global package db.
perl -i -pe 's"/usr/local"\$HOME/Haskell/GHC"' bootstrap.sh
chmod u+rwx bootstrap.sh
At this point cabal has created its config file $HOME/.cabal/config
which I modify so that cabal defaults to global but uses my own
directory by applying these changes:
$ diff -d config.orig config
< -- user-install: True
> user-install: False
< -- prefix: /usr/local
> prefix: /Users/claudio/Haskell/GHC
More information about the Haskell