Recompiling the darcs tree after a pull

I get a lot of errors like this: utils/Panic.lhs:27:0: Failed to load interface for `Config': Bad interface file: stage1/main/Config.hi mismatched interface file versions: expected 6050, found 390518464 Do you guys always clean after a pull or is there an easy way to get a list of *.hi (and *.o) files to delete? Thanks, Joel -- http://wagerlabs.com/

If you change which version of the compiler that you are compiling GHC with, then 'make clean' is your friend. If you are only updating the source code, and not changing the GHC that you are using to compile the compiler, then you shouldn't get the error below. Simon | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell-users- | bounces@haskell.org] On Behalf Of Joel Reymont | Sent: 14 July 2006 20:51 | To: glasgow-haskell-users@haskell.org | Subject: Recompiling the darcs tree after a pull | | I get a lot of errors like this: | | utils/Panic.lhs:27:0: | Failed to load interface for `Config': | Bad interface file: stage1/main/Config.hi | mismatched interface file versions: expected 6050, found | 390518464 | | Do you guys always clean after a pull or is there an easy way to get | a list of *.hi (and *.o) files to delete? | | Thanks, Joel | | -- | http://wagerlabs.com/ | | | | | | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

What I usually do is build GHC from darcs and make-install it. I then do a darcs pull and use the previously built compiler to bootstrap. I guess this is not optimal and I should just use the last stable GHC to recompile the darcs tree. On Jul 16, 2006, at 10:28 PM, Simon Peyton-Jones wrote:
If you change which version of the compiler that you are compiling GHC with, then 'make clean' is your friend. If you are only updating the source code, and not changing the GHC that you are using to compile the compiler, then you shouldn't get the error below.

Joel Reymont wrote:
What I usually do is build GHC from darcs and make-install it. I then do a darcs pull and use the previously built compiler to bootstrap. I guess this is not optimal and I should just use the last stable GHC to recompile the darcs tree.
Yes, that isn't a "supported" workflow. The rule is that we support building GHC using either: (a) any released version of GHC version 5.04 and later, or (b) itself. (by "itself" we mean a compiler built from these same sources). In other words, building the HEAD using a 6.5 snapshot isn't guaranteed to work. It might work. Cheers, Simon

Joel Reymont wrote:
I get a lot of errors like this:
utils/Panic.lhs:27:0: Failed to load interface for `Config': Bad interface file: stage1/main/Config.hi mismatched interface file versions: expected 6050, found 390518464
Do you guys always clean after a pull or is there an easy way to get a list of *.hi (and *.o) files to delete?
The party line is that after a 'darcs pull' you should start again from scratch. That is, - make maintainer-clean - autoreconf - configure - make If you Know What You Are Doing you might be able to avoid being this drastic, or you can just chance it and try cleaning if things go wrong. The main reason for this is that the build system doesn't express all the dependencies in the tree; for example, it doesn't know that every .hi file in the libraries implicitly depends on every .hs file in the compiler, because the interface file format is dependent on the compiler. Getting all these dependencies just right would be likely to lead to a lot of unnecessary recompilation while we're developing, so it's a compromise. If you know that the interface file format has changed, you have to make clean in libraries, the build system won't do it for you. Cheers, Simon
participants (3)
-
Joel Reymont
-
Simon Marlow
-
Simon Peyton-Jones