"Bad interface file: System/IO.hi" in ghci when ./System/IO.hs exists
I ran into this when trying to ghci a module in the base library (from http://darcs.haskell.org/packages/base), but it seems that ghci just gets confused if System/IO.hs exists under the current directory. For my purposes, it's easy enough to work around by copying the module I actually want to work on out to another directory.
jyasskin-mac:~/Temp/bug jyasskin$ mkdir System
jyasskin-mac:~/Temp/bug jyasskin$ touch System/IO.hs
jyasskin-mac:~/Temp/bug jyasskin$ cp ~/src/ghc/HEAD/ghc/libraries/base/Data/Monoid.hs .
jyasskin-mac:~/Temp/bug jyasskin$ mkdir Data
jyasskin-mac:~/Temp/bug jyasskin$ mv Monoid.hs Data/
jyasskin-mac:~/Temp/bug jyasskin$ ghci Data/Monoid.hs
___ ___ _
/ _ \ /\ /\/ __(_)
/ /_\// /_/ / / | | GHC Interactive, version 6.6, for Haskell 98.
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
\____/\/ /_/\____/|_| Type :? for help.
Loading package base ... linking ... done.
<interactive>:1:22:
Bad interface file: System/IO.hi
System/IO.hi: openBinaryFile: does not exist (No such file or directory)
ghc-6.6: panic! (the 'impossible' happened)
(GHC version 6.6 for powerpc-apple-darwin):
interactiveUI:setBuffering
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
jyasskin-mac:~/Temp/bug jyasskin$ find .
.
./Data
./Data/Monoid.hs
./System
./System/IO.hs
jyasskin-mac:~/Temp/bug jyasskin$
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.6 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | jyasskin@gmail.com |
| Operating system | MacOS X |
| Architecture | powerpc |