#2619: Can't build older compiler
---------------------------------+------------------------------------------
Reporter: judah | Owner:
Type: bug | Status: reopened
Priority: normal | Milestone: 6.10.1
Component: Compiler | Version: 6.11
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Os: Unknown/Multiple
Architecture: Unknown/Multiple |
---------------------------------+------------------------------------------
Comment (by chak):
Replying to [comment:8 igloo]:
> While we will fix problems where it is not too burdensome to do so,
building an older compiler with a newer compiler is not supported; from
http://hackage.haskell.org/trac/ghc/wiki/Building/Prerequisites:
[..]
> There are good reasons we don't support it: New compilers may need
different flags, provide libraries with different interfaces, etc, and the
old version's build system can't anticipate that. It's also not something
that we can really test.
We were not trying to build a compiler one release back or something. It
was a snapshot of HEAD built with a snapshot of HEAD from a few days
earlier. Modulo the caveats of using the HEAD in the first place, there
is no good reason why that should not work. At the time, we also didn't
have darcs on the machine as that wouldn't build with an old Solaris
snapshot we originally bootstrapped from and, the HEAD compile we had,
didn't have the extralibs needed by darcs.
Sure that's a situation where you are not surprised when things don't work
out right away, but stage1 just morphing into a clone of the bootstrap
compiler isn't quite what you expect either.
> As far as I know, configure doesn't enforce this policy at all. We could
make it fail if the bootstrapping compiler is:
> * too old (more than 2 major releases older than the version we are
compiling. We couldn't do this properly for the change from 6.x to 7.x)
> * too new (newer than the version we are compiling)
> * a snapshot and not the same version as we are building
> unless a `--force` flag is given. As it's easier for buildbot clients to
use the same version for both STABLE and HEAD, this would probably mean
that we'd keep supporting 6.6 in 6.11, and only drop support once it
becomes 6.12 and we stop building 6.10. We already do that in practice
anyway.
Sure, it might be a good idea to have configure check, but we knew what we
where doing and didn't just compile an old version by accident. So, it
wouldn't have helped anything in this case.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2619#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs