[GHC] #4012: Compilation results are not deterministic
GHC
cvs-ghc at haskell.org
Fri Jun 15 09:42:47 CEST 2012
#4012: Compilation results are not deterministic
-------------------------------+--------------------------------------------
Reporter: kili | Owner:
Type: bug | Status: new
Priority: high | Milestone: 7.6.1
Component: Compiler | Version: 6.12.2
Resolution: | Keywords:
Os: Unknown/Multiple | Architecture: Unknown/Multiple
Failure: Other | Difficulty: Difficult (2-5 days)
Testcase: | Blockedby:
Blocking: | Related:
-------------------------------+--------------------------------------------
Comment(by nomeata):
Let me illustrate one consequence of this problem. In Debian, the freeze
for wheezy is near. We have just managed to migrate ghc-7.4.1 to wheezy,
but there are a few remaining bugs of various severity (#5991, #6156) and
having GHCi on ARM would be nice as well. Alas, we cannot upgrade to
ghc-7.4.2 which provides all this, as it would require rebuilding
everything, which is not possible at this stage any more
(http://lists.debian.org/debian-haskell/2012/06/msg00038.html).
What we will probably do is to backport fixes from 7.4.2 onto 7.4.1, but
this is not nice either, as it might introduce new bugs and makes our ghc
deviate more and more from upstream.
Ideally, if 7.4.2 does not change anything about the actual ABI, it would
not force it to change completely. Currently, it does, by encoding the
version number in every hash (#5328; granted, I filed that, but that does
not mean its the best solution :-)). It should do something like haddock:
Keep an internal counter, separate from the version number, that is
increased if indeed everything needs to be rebuilt, e.g. changes in the
.hi file format, in the calling convention etc. (← identifying this list
is probably non-trivial). And if a new compiler version is released that
does not do any of these, the number stays the same and previously
compiled packages can be re-used.
This would also require the file names of installed packages to not
include the ghc version but the ghc abi interface number; but configuring
this can be left to the distributions.
(Hmm, this is not _really_ this bug, but closely related.)
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4012#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list