
Thanks for the clarification, the SICP article was something I feel I
should have known, but did not.
It seems to me that while there are *three* ways to install stuff: apt-get
install, cabal install --global, and cabal install --user, there are
just *two* ways things get installed, globally and user(ly?).
The "obvious" solution would be to have three package.confs as well, say
"system" (/var/lib), "global" (/usr/lib?), and "user" (~/.ghc).
Is there a fundamental limitation of GHC or something that makes it
impossible to work with three package configuration files? Or would
this not solve anything after all?
-k
"Albert Y. C. Lai"
On 10-11-29 03:15 PM, Albert Y. C. Lai wrote:
cabal install --global binary apt-get install libghc6-binary-dev
They are the same version (at the time of writing, and assume Ubuntu 10.10) and they will fight for the unique throne of "binary-0.5.0.2" in the metadata.
Oh bother, Debian/Ubuntu's packages are even more treacherous. They circumvent the uniqueness checks of ghc-pkg register. They just smuggle records into /var/lib/ghc-6.12.1/package.conf.d and call ghc-pkg recache. This procedure allows both binary-0.5.0.2 instances to be recorded, both as global. Ironically, ghc-pkg check does not see a problem.
But this is more corruption, not less:
cabal install --global maccatcher (this brings in binary) apt-get install libghc6-agda-dev (this brings in libghc6-binary-dev)
The same problem remains. When you finally try to use binary, GHC still picks one instance only. Depend on luck, one of maccatcher and agda is hosed. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- If I haven't seen further, it is by standing in the footprints of giants