[darcs-users] dropping GHC 6.8

Petr Rockai me at mornfall.net
Sun Apr 25 08:27:59 UTC 2010

Yitzchak Gale <gale at sefer.org> writes:
> This problem may be specific to 6.8.2 and below only,
> since it is related to GHC bug #2093. That bug was
> fixed in 6.8.3.
> It would be a *lot* easier to backport 6.8.3 to lenny
> than to backport 6.10 and above.
As far as I can tell, Debian already had this particular fix
backported. At least for the case of lstat...

>> In view of this, and given there is a general desire to drop it
>> anyway, I think we should explicitly drop it from the 2.4 series.

> Overall, I would say that dropping support for GHC 6.8
> would mean in practice that a significant proportion of
> darcs users would be sticking with 2.3 and below for a
> long time to come.
The problem with this argument is that darcs is affected by this bug
since like forever. Even 2.3 suffers quite badly with 6.8.2 -- the
resulting binary, although apparently working OK, is horribly slow in
many cases due to bad lstat results.

> That's not necessarily so bad. It would just mean that
> in order to provide good ongoing support for the
> majority of the darcs user base, darcs developers
> would need to support not only older versions of GHC,
> but also older versions of darcs.
> If 6.8.3 solves the mmap problem, would it be difficult for
> the 2.4 series to support GHC 6.8.3?
I think since 2.4 already compiles with 6.8, this is reasonable, unless
there are other GHC bugs that make darcs behave really bad. The
following text comes from README and I think it is mostly still
relevant. The only problem I think is that we no longer support
"-f-zlib" :(. So even lenny-built darcs will likely crash from time to
time. And outside of lenny, on 6.8.2, even though we still can do
-f-mmap, hashed-storage cannot be built without mmap (it is a hard
dependency there), so things may or may not work.


Compilation and Installation

Building Darcs requires the cabal package, version 1.6 or higher.  The
cabal-install package is also recommended.

Using GHC 6.10.3 or newer is STRONGLY RECOMMENDED. You can compile darcs with
GHC 6.8, but there are several caveats. If you are using 6.8.2 or older, please
disable mmap support (pass -f-mmap to cabal install or runghc Setup configure
below). Note that the GHC 6.8.2 that ships with Debian Lenny is not affected
and it should be safe to keep mmap enabled. It is also recommended to disable
use of Hackage zlib when compiling with GHC 6.8.2 (including the Debian Lenny
version): pass -f-zlib to cabal. When using zlib, we have seen occasional
crashes with error messages like "openBinaryFile: file locked" -- this is a
known GHC 6.8.2 bug (and is fixed in GHC 6.8.3). Last, if you are using a
64-bit system, darcs may hang when you exit a pager when compiled with GHC
older than 6.10.3. Although this is harmless, it is quite inconvenient.

More information about the darcs-users mailing list