It seems that the old, pre-Cabal build system did not clean some or
all of the preprocessed files (such as Parser.hs).  This was not much
of a problem in practice, because the Makefiles used the relative
timestamps to tell whether to regenerate Parser.hs from Parser.y.  In
contrast, Cabal stores all generated files in a separate directory
(compiler/dist-stage[1/2]), and thus doesn't need to look at relative
timestamps; so it gets confused by the old, leftover Parser.hs et al.

Yes, I did delete those generated files that weren't newer than
their sources by hand, after which the build got as far as the
windows HEAD builder (Network.hs). I just wanted (again)
to point out the importance of an accurate distclean target
(which has the annoying quality that the ill effects of an inaccurate
target version will only be felt after that target version becomes
obsolete).

But thanks for the explanation, and for recording the issue/
workaround here on the list (which is always my first stop
for HEAD build issues).

Now, about that HEAD builder: since looking at buildbot results
is apparently no longer in vogue, I'd like to mention the _failure_
output (for windows) from todays HEAD buildbot collator below.

It highlights an important advantage of having a nontrivial set
of extralibs in the ghc buildbot: early warnings about when and
how ghc changes are going to break user-/library-code.

Once the extralibs go, that feedback will be less immediate, the
spread of breakage will be wider, and the current "why should
Ghc Hq have to worry about network package maintenance?"
could easily turn into a major source of friction, with both Ghc
Hq and library maintainers insisting that the breakage isn't in their
boat ("but HEAD fast builds just fine","but I didn't change a bit
in my library code") and users likely to pay the price.

Btw, are the exception changes meant to lead to another round
of library breakage/updates, or is this just the compatibility mode
not yet being in place?

Claus

c:/builds/slave/x86-win-head/build/ghc/stage1-inplace/ghc.exe -package-name network-2.2.0.0 -hide-all-packages -no-user-package-conf -split-objs -i -idist/build -i. -idist/build/autogen -Idist/build -Iinclude -optc-DCALLCONV=stdcall -#include "HsNet.h" -odir dist/build -hidir dist/build -stubdir dist/build -package base-3.0 -package parsec-2.1.0.1 -O -DCALLCONV=stdcall -XCPP -idist/build -H32m -O -O2 -Rghc-timing -XGenerics -Wall -fno-warn-deprecated-flags -c Network.hs -o dist/build/Network.o -ohi dist/build/Network.hi

Network.hs:260:29: Not in scope: `Exception.ioErrors'
<<ghc: 35209856 bytes, 6 GCs, 153600/155648 avg/max bytes residency (2 samples), 34M in use, 0.00 INIT (0.00 elapsed), 0.11 MUT (0.17 elapsed), 0.02 GC (0.02 elapsed) :ghc>>
make[3]: *** [dist/build/Network.o] Error 1
make[3]: Leaving directory `/buildbot/x86-win-head/build/libraries/network'
make[2]: *** [make.library.network] Error 2
make[2]: Leaving directory `/buildbot/x86-win-head/build/libraries'
make[1]: *** [stage1] Error 2
make[1]: Leaving directory `/buildbot/x86-win-head/build'

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to