Re: [Haskell-cafe] Re: Unable to install packages
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 tre...@vex.net writes: 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 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Unable to install packages
On 10-11-28 09:55 AM, Ketil Malde wrote: Joachim Breitnerm...@joachim-breitner.de writes: I would not recommend using --global on Debian/Ubuntu-systems, as it might interfere with packages installed by Debian. But 'cabal install --global' installs in /usr/local/, does it not? And official packages (i.e. debs) put stuff in /usr, so these would be separate. Metadata is more important than data. In the case of Debian/Ubuntu's GHC, both 'cabal install --global' and 'apt-get install' records in /var/lib/ghc-6.12.3/package.conf.d If you cabal install one version and apt-get another version, sure, they are two different records in the metadata, no immediate problem. But how about 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. The immediate problem: they likely have different ABI hashes because they're built differently. Suppose you cabal install --global binary (suppose it becomes binary-0.5.0.2-300339c66a688207241e4643a9e17721) cabal install --global I-depend-on-binary apt-get install libghc6-binary-dev (this is binary-0.5.0.2-32d59ff8fdfc79aa888e82997612374d in Ubuntu 10.10 i386 32-bit) Now I-depend-on-binary is hosed. It was built against binary-0.5.0.2-300339c66a688207241e4643a9e17721 but that's usurped. OK, who would knowingly usurp his/her own binary-0.5.0.2? Of course no one knowingly does. But everyone does it unknowingly: cabal install --global maccatcher (this brings in binary) apt-get install libghc6-agda-dev (this brings in libghc6-binary-dev) Now maccatcher is hosed. See also my http://www.vex.net/~trebla/haskell/sicp.xhtml P.S. Deleting --global mitigates this problem but causes some other problem. I will describe it in my article in the future. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Unable to install packages
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
Re: [Haskell-cafe] Re: Unable to install packages
Hi, Am Samstag, den 27.11.2010, 21:37 -0800 schrieb Moisei: At the Leksah website there are instructions for installing it on Ubuntu. 1. sudo apt-get install cabal-install 2. sudo apt-get install libghc6-zlib-dev 3. cabal update 4. sudo cabal install cabal-install --global 5. sudo apt-get install libgtk2.0-dev 6. sudo apt-get install libgtksourceview2.0-dev 7. sudo cabal install alex --global 8. sudo cabal install happy --global 9. sudo cabal install gtk2hs-buildtools --global 10. sudo apt-get install libglade2-dev 11. sudo cabal install glade --global 12. sudo cabal install leksah --global I would not recommend using --global on Debian/Ubuntu-systems, as it might interfere with packages installed by Debian. I recommend to not use --global and install it into your /home (and add ~/.cabal/bin to your PATH). And I wonder if they really need the very latest versions of alex and happy (Debian is one or two minor versions behind) or whether apt-get install alex happy would suffice... Greetings, Joachim -- Joachim nomeata Breitner mail: m...@joachim-breitner.de | ICQ# 74513189 | GPG-Key: 4743206C JID: nome...@joachim-breitner.de | http://www.joachim-breitner.de/ Debian Developer: nome...@debian.org signature.asc Description: This is a digitally signed message part ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Unable to install packages
Joachim Breitner m...@joachim-breitner.de writes: I would not recommend using --global on Debian/Ubuntu-systems, as it might interfere with packages installed by Debian. But 'cabal install --global' installs in /usr/local/, does it not? And official packages (i.e. debs) put stuff in /usr, so these would be separate. And I wonder if they really need the very latest versions of alex and happy (Debian is one or two minor versions behind) or whether apt-get install alex happy would suffice... It would be nice if cabal could be aware of OS package managers, and suggest this as an option - or be configured to just use the OS package by default, as long as it provides the requried versions. -k -- If I haven't seen further, it is by standing in the footprints of giants ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Unable to install packages
At the Leksah website there are instructions for installing it on Ubuntu. 1. sudo apt-get install cabal-install 2. sudo apt-get install libghc6-zlib-dev 3. cabal update 4. sudo cabal install cabal-install --global 5. sudo apt-get install libgtk2.0-dev 6. sudo apt-get install libgtksourceview2.0-dev 7. sudo cabal install alex --global 8. sudo cabal install happy --global 9. sudo cabal install gtk2hs-buildtools --global 10. sudo apt-get install libglade2-dev 11. sudo cabal install glade --global 12. sudo cabal install leksah --global On Nov 27, 4:50 pm, Joachim Breitner m...@joachim-breitner.de wrote: Hi, Am Samstag, den 27.11.2010, 19:55 +0100 schrieb Roland Senn: Am 27.11.2010 19:36, schrieb Joachim Breitner: Hi, And there is even a leksah package on Debian, and in Ubuntu since natty. Greetings, Joachim I tried: sudo apt-get install leksah and got: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package leksah Has this package an other name? no:http://packages.ubuntu.com/search?keywords=leksah but maybe you don’t have the universe sources active? Or are not actually running Ubuntu natty? I don’t know much about Ubuntu myself, sorry. Greetings, Joachim -- Joachim nomeata Breitner mail: m...@joachim-breitner.de | ICQ# 74513189 | GPG-Key: 4743206C JID: nome...@joachim-breitner.de |http://www.joachim-breitner.de/ Debian Developer: nome...@debian.org signature.asc 1KViewDownload ___ Haskell-Cafe mailing list haskell-c...@haskell.orghttp://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe