Haskell Platform on Ubuntu

Is there anyone working on a Haskell Platform package for Ubuntu? GHC in Ubuntu is a pain! Regards Rafael Gustavo da Cunha Pereira Pinto

RafaelGCPP.Linux:
Is there anyone working on a Haskell Platform package for Ubuntu?
GHC in Ubuntu is a pain!
The Debian team is working on packaging, but until then (or if someone on Ubuntu steps up), you'll need to use the Unix tarball: http://hackage.haskell.org/platform/2009.2.0.1/haskell-platform-2009.2.0.1.t... -- Don

Thanks. I may even be the one to step up, if nothing happens till 9.10... I
really miss up-to-date ghc in Ubuntu.
2009/7/6 Don Stewart
RafaelGCPP.Linux:
Is there anyone working on a Haskell Platform package for Ubuntu?
GHC in Ubuntu is a pain!
The Debian team is working on packaging, but until then (or if someone on Ubuntu steps up), you'll need to use the Unix tarball:
http://hackage.haskell.org/platform/2009.2.0.1/haskell-platform-2009.2.0.1.t...
-- Don
-- Rafael Gustavo da Cunha Pereira Pinto Electronic Engineer, MSc.

Hello, I have uploaded the ghc package to my ppa: https://launchpad.net/~someone561/+archive/ppa But I don't work on it. I simple backport the debian sid packages. Also there are not the haskell libraries as debs. Maybe this helps you. Stefan Rafael Gustavo da Cunha Pereira Pinto wrote:
Thanks. I may even be the one to step up, if nothing happens till 9.10... I really miss up-to-date ghc in Ubuntu.
2009/7/6 Don Stewart
mailto:dons@galois.com> RafaelGCPP.Linux: > > Is there anyone working on a Haskell Platform package for Ubuntu? > > GHC in Ubuntu is a pain!
The Debian team is working on packaging, but until then (or if someone on Ubuntu steps up), you'll need to use the Unix tarball:
http://hackage.haskell.org/platform/2009.2.0.1/haskell-platform-2009.2.0.1.t...
-- Don

Karmic (9.10) will have GHC 6.10.3, possibly 6.10.4. http://bugs.launchpad.net/ubuntu/+source/ghc6/+bug/302149 Cheers, Simon On 06/07/2009 23:54, Stefan Roggensack wrote:
Hello,
I have uploaded the ghc package to my ppa: https://launchpad.net/~someone561/+archive/ppa But I don't work on it. I simple backport the debian sid packages. Also there are not the haskell libraries as debs. Maybe this helps you.
Stefan
Rafael Gustavo da Cunha Pereira Pinto wrote:
Thanks. I may even be the one to step up, if nothing happens till 9.10... I really miss up-to-date ghc in Ubuntu.
2009/7/6 Don Stewart
mailto:dons@galois.com> RafaelGCPP.Linux: > > Is there anyone working on a Haskell Platform package for Ubuntu? > > GHC in Ubuntu is a pain!
The Debian team is working on packaging, but until then (or if someone on Ubuntu steps up), you'll need to use the Unix tarball:
http://hackage.haskell.org/platform/2009.2.0.1/haskell-platform-2009.2.0.1.t...
-- Don

Even if 6.10.3 gets into Karmic, I'm sure the problem will arise again once 6.12.1 is out. It's sadly easier to install from the tarball. David.

david48 wrote:
Even if 6.10.3 gets into Karmic, I'm sure the problem will arise again once 6.12.1 is out.
The Debian Haskell maintainers are working on fixing this. In particular, working on setting up an automated process so that when the compiler version is updated, all Haskell libraries get built with the new compiler. The Ocaml programming language has exactly the same problem, but the Debian Ocaml maintainers have automated the process and last time to Ocaml compiler version was updated over 95% of all Ocaml libraries were rebuilt within 24 hours.
It's sadly easier to install from the tarball.
Currently yes. That should change in the not too distant future. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

The Ocaml programming language has exactly the same problem, but the Debian Ocaml maintainers have automated the process and last time to Ocaml compiler version was updated over 95% of all Ocaml libraries were rebuilt within 24 hours.
Since I never built GHC from scratch, it is really hard for me to estimate how much effort would I have to put through to automate the whole building process. Anyway, automating the package building process is crucial for Linux distributions. One problem I see is the binary-only distribution of packages. This makes cabal-install incompatible with most distributions except, maybe, gentoo. The automation process would have to run through hackageDB tracking dependencies and compiling each needed library. Pretty hard stuff... Rafael Gustavo da Cunha Pereira Pinto

One problem I see is the binary-only distribution of packages. This makes cabal-install incompatible with most distributions except, maybe, gentoo. The automation process would have to run through hackageDB tracking dependencies and compiling each needed library. Pretty hard stuff...
Yes. The sanest approach for any distribution would seem to install are bare bones ghc + cabal (cabal install) and let the cabal package system do the hard work directly. Matthias.

2009/7/8 Matthias Görgens
One problem I see is the binary-only distribution of packages. This makes cabal-install incompatible with most distributions except, maybe, gentoo. The automation process would have to run through hackageDB tracking dependencies and compiling each needed library. Pretty hard stuff...
Yes. The sanest approach for any distribution would seem to install are bare bones ghc + cabal (cabal install) and let the cabal package system do the hard work directly.
That wouldn't work, as cabal dependancies don't allow downloading the appropriate C libraries from the distribution repositories when needed.

Matthias Görgens
One problem I see is the binary-only distribution of packages. This makes cabal-install incompatible with most distributions except, maybe, gentoo. The automation process would have to run through hackageDB tracking dependencies and compiling each needed library. Pretty hard stuff...
Yes. The sanest approach for any distribution would seem to install are bare bones ghc + cabal (cabal install) and let the cabal package system do the hard work directly.
I don't have much experience with building binary packages, but surely the (binary) distributions should ship (binary) packages of as much as possible of the useful, stable libraries and executables? One reason this is important is that a major feature of binary distributions is providing a homogenous, stable, universal set of packages for all users. This makes bugs a lot more trackable: either they affect all users, or none. -k -- If I haven't seen further, it is by standing in the footprints of giants

Matthias Görgens wrote:
Yes. The sanest approach for any distribution would seem to install are bare bones ghc + cabal (cabal install) and let the cabal package system do the hard work directly.
Cabal works really well for a single developer on a single machine. Debian packages work really well where there are multiple developers on multiple machines and auto-build bots where you want all of these to be using the exact same binary package. The reason I am pursuing the Debian way is because I find the second option far more useful. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

On Wed, Jul 8, 2009 at 12:47 PM, Erik de Castro
Lopo
Matthias Görgens wrote:
Yes. The sanest approach for any distribution would seem to install are bare bones ghc + cabal (cabal install) and let the cabal package system do the hard work directly.
Cabal works really well for a single developer on a single machine.
Debian packages work really well where there are multiple developers on multiple machines and auto-build bots where you want all of these to be using the exact same binary package.
It also works really well for _users_ of applications written in Haskell. The introduction of dynamic linking will mean that those applications need the pre-built libraries they depend on. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe

mle+hs:
Matthias Görgens wrote:
Yes. The sanest approach for any distribution would seem to install are bare bones ghc + cabal (cabal install) and let the cabal package system do the hard work directly.
Cabal works really well for a single developer on a single machine.
Debian packages work really well where there are multiple developers on multiple machines and auto-build bots where you want all of these to be using the exact same binary package.
The reason I am pursuing the Debian way is because I find the second option far more useful.
And distro packages are much easier for new users (who can later graduate to the cabal-install cabal). -- Don

Rafael Gustavo da Cunha Pereira Pinto wrote:
One problem I see is the binary-only distribution of packages.
Well Debian does have source packages as well, thats what they build the binaries from :-).
The automation process would have to run through hackageDB tracking dependencies and compiling each needed library.
On Debian, haskell libraries can be build from the same <pkgname>.cabal files that Hackage uses. There is no need to read anything from the HackageDB.
Pretty hard stuff...
The fact that the Ocaml people can do means that it definitely possible, and Ocaml upstream libraries don't ship with anything near as useful as the .cabal files in Haskell packages. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

Hi Erik, Am Mittwoch, den 08.07.2009, 17:15 +1000 schrieb Erik de Castro Lopo:
The Ocaml programming language has exactly the same problem, but the Debian Ocaml maintainers have automated the process and last time to Ocaml compiler version was updated over 95% of all Ocaml libraries were rebuilt within 24 hours.
looking at http://debian.glondu.net/monitor/ocaml/ocaml_transition_monitor.html I get the impression that the Ocaml guys need to re-build everything when a new Ocaml library comes out, but not when just a dependency was upgraded. Is that right? If it is so, we have an excuse due to our slightly more complicated procedure. Also, how do they get it in 24 – don’t they have to wait, for each level in the dependency tree, for the former level to have been built on a buildd, upload signed by a buildd admin and them moved to the archive with the next mirror push? Greetings, Joachim -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

Joachim Breitner wrote:
looking at http://debian.glondu.net/monitor/ocaml/ocaml_transition_monitor.html I get the impression that the Ocaml guys need to re-build everything when a new Ocaml library
I assume you mean compiler there?
comes out, but not when just a dependency was upgraded. Is that right?
I'm not really sure about that. Ocaml libraries seem (warning, generalizations follow) seem to be fewer in number that Haskell but be more comprehensive. Haskell has far more small libraries and as a result, Haskell projects often have much deeper and wider dependency trees than similar Ocaml projects.
If it is so, we have an excuse due to our slightly more complicated procedure.
Yes, I agree that the Haskell problem is a more difficult example of the same problems the Ocaml maintainers face. There may also be parts which the Ocaml maintainers don't have to face at all, but in general, the Haskell problem is similar to the Ocaml one.
Also, how do they get it in 24 – don’t they have to wait, for each level in the dependency tree, for the former level to have been built on a buildd, upload signed by a buildd admin and them moved to the archive with the next mirror push?
Sorry, I'm not sure of how they do it. I just notice that something in their first round of compiles like camlbz2 was build on amd64 on 20090629-2107 and something in their last round like json-static was built on amd64 on 20090701-1149. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

mle+hs:
Joachim Breitner wrote:
looking at http://debian.glondu.net/monitor/ocaml/ocaml_transition_monitor.html I get the impression that the Ocaml guys need to re-build everything when a new Ocaml library
I assume you mean compiler there?
comes out, but not when just a dependency was upgraded. Is that right?
I'm not really sure about that.
Ocaml libraries seem (warning, generalizations follow) seem to be fewer in number that Haskell but be more comprehensive. Haskell has far more small libraries and as a result, Haskell projects often have much deeper and wider dependency trees than similar Ocaml projects.
The difference is cabal-install: automated dependency resolving makes for more packages.
If it is so, we have an excuse due to our slightly more complicated procedure.
Yes, I agree that the Haskell problem is a more difficult example of the same problems the Ocaml maintainers face. There may also be parts which the Ocaml maintainers don't have to face at all, but in general, the Haskell problem is similar to the Ocaml one.
Also, how do they get it in 24 – don’t they have to wait, for each level in the dependency tree, for the former level to have been built on a buildd, upload signed by a buildd admin and them moved to the archive with the next mirror push?
Also, the Haskell libs are updating more frequently (more of them, and more updates). We're averaging 10 updates a day atm: http://www.galois.com/~dons/images/hackage-daily-graph.png -- Don

George Pollard
2009/7/7 Matthias Görgens
:
Karmic (9.10) will have GHC 6.10.3, possibly 6.10.4.
It currently spots 6.10.3, in the alpha release I run here.
A major problem is that the libraries are still for 6.8.2, so you cannot install the required libs to install cabal. Grr.
I'm sorry, but I don't follow you. Surely the libraries must be compiled against the shipping version of GHC? -k -- If I haven't seen further, it is by standing in the footprints of giants

Ketil Malde wrote:
I'm sorry, but I don't follow you. Surely the libraries must be compiled against the shipping version of GHC?
Yes, but the libraries that are currently there are the ones compiled with the previous version of ghc. Yes, those libraries need to be recompiled and no, that process has not yet been properly automated. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

On 08/07/2009 00:17, George Pollard wrote:
2009/7/7 Matthias Görgens
: Karmic (9.10) will have GHC 6.10.3, possibly 6.10.4. It currently spots 6.10.3, in the alpha release I run here.
A major problem is that the libraries are still for 6.8.2, so you cannot install the required libs to install cabal. Grr.
My understanding is they're waiting for 6.10.4 before recompiling all the libraries, because it's a big job and they don't want to do it twice. Cheers, Simon

Simon Marlow wrote:
Karmic (9.10) will have GHC 6.10.3, possibly 6.10.4.
Unfortunately thats only half the story. The GHC 6.10.3 that is going into Kamic is the one from Debian Unstable. It is important to note here that beyond doing a rebuild of the Debian source package against Ubuntu's binary versions of all the libraries, Ubuntu/Cannonical does no extra work to make Haskell (or anything else outside the Ubuntu core packages) work on Ubuntu. It should also be noted that although ghc-6.10.3 works, a huge bunch of Haskell libraries still need to be build with the new compiler for them to be useful. Since Debian is still working on getting this process sorted out, there is little reason to believe that Ubuntu is going to be any better at getting this fixed. If anyone is interested in seeing improved Haskell support in Ubuntu, they should be looking towards the Debian Haskell maintainers, not Ubuntu :-). Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

Rafael Gustavo da Cunha Pereira Pinto wrote:
Is there anyone working on a Haskell Platform package for Ubuntu?
For Haskell on Ubuntu, the vast majority of all the work is done by the Debian Haskell maintainers. Ubuntu simply takes that work and rolls packages for Ubuntu.
GHC in Ubuntu is a pain!
The same is also currently true for GHC on Debian stable and testing. Debian unstable is also a bit broken. However, if you know a bit about build Debian packages the Debian way then it is possible to use the Debian unstable sources on Ubuntu 8.04 and later. I've been meaning to blog this for some time :-). Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

Erik de Castro Lopo wrote:
GHC in Ubuntu is a pain!
The same is also currently true for GHC on Debian stable and testing. Debian unstable is also a bit broken.
I only use Debian Stable, but I don't find it very hard to use. I just use the binary packages from www.haskell.org. That said, there has been a lot of activity on the debian-haskell mailing list lately (debian-haskell@lists.debian.org) so there will probably some progress quite soon! (Not sure if it will be in time for Ubuntu 9.10 though). Cheers, -- Jochem Berndsen | jochem@functor.nl GPG: 0xE6FABFAB
participants (12)
-
david48
-
Don Stewart
-
Erik de Castro Lopo
-
George Pollard
-
Joachim Breitner
-
Jochem Berndsen
-
Ketil Malde
-
Magnus Therning
-
Matthias Görgens
-
Rafael Gustavo da Cunha Pereira Pinto
-
Simon Marlow
-
Stefan Roggensack