recompilation check in 6.4
Simon Marlow
simonmar at microsoft.com
Mon Jun 6 10:30:13 EDT 2005
Hi Serge,
On 05 June 2005 11:58, Serge D. Mechveliani wrote:
> for the first time compiles all the modules before Foo in
> 50 seconds.
> Then, I fix an error in Foo.hs and repeat "make dm".
>
> The options are set so that ghc-6.2.2 gets to Foo.hs in less
> than 1 second when doing this repeated `make'.
> It does consider each module before Foo and each time decides that
> there is no need in recompilation. It keeps on going this way:
> --------
> Considering whether compilation is required for Prelude0:
> Skipping Prelude0 ( ./Prelude0.hs, /foo/source/export/Prelude0.o )
> --------
> and so on, by the scheme
> "Considering ..XX -- {Checking usages .. --} Skipping XX".
>
> The compiler applies this way:
> --------------------
> /foo/ghc/6.2.2/inst/bin/ghc -fglasgow-exts
> -fallow-undecidable-instances
> -fallow-overlapping-instances -fno-warn-overlapping-patterns
> -fwarn-unused-binds -fwarn-unused-matches -fwarn-unused-imports
> -idemotest
> -odir /home/mechvel/dm/1.02/dm/source/export
> -hidir /home/mechvel/dm/1.02/dm/source/export
> -ddump-hi-diffs
> --make DExport -package-name dm
> --------------------
>
> Now, when ghc-6.4 does such a repeated `make', it re-compiles
> all the `previous' modules under the above options:
I'm afraid I don't know what the problem might be. Probably GHC is
looking in the wrong place for .hi files or .o files, or both.
> ---------
> Chasing modules from: DExport
> Source file changed or recompilation check turned off
> Compiling Prelude0 ( ./Prelude0.hs, /.../source/export/Prelude0.o
^^^^^^^
in particul, that looks very strange! Did you edit that by hand, or is
that the verbatim GHC output? (copying the verbatim output is usually
better, to avoid confusion).
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list