| When I have a collection of files to compile and
| (1) I use --make to compile them together;
| (2) they are recursive
| it works the first time, but when I try to compile them the
| second time I get messages about bogus duplicate instance
| declarations, for example:
| 
| Skipping  GlobalRegistry   ( GlobalRegistry.hs, GlobalRegistry.o )
| 
| Duplicate instance declarations:
|    In module CodedValue: Control.Monad.Trans.MonadIO
CodedValue.CodingMonad
|    In module CodedValue: Control.Monad.Trans.MonadIO
CodedValue.CodingMonad

OK I can reproduce it and know what is going on.

It's a bug in 6.2.1 whereby it can import a compiled interface from
"higher up" in the tree.
This is really wrong.  (Introduced as a result of fix to a different
bug. Sigh.  It's a rather dark corner, which I cleaned up in the HEAD, I
believe, though that probably isn't much use to you.)

The only real workaround is to make clean; or just remove the .hi files
that have .hi-boot friends.  Or not use --make.

Simon

_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to