Bad interface file

Simon Marlow marlowsd at gmail.com
Thu Dec 3 18:18:54 UTC 2015


On 27/11/2015 15:31, Simon Peyton Jones wrote:
> Can anyone confirm that Trac #11122 is fixed in HEAD?
>
> When I try to reproduce it, I tried this, *with a freshly-built HEAD*
>
> cabal install parsec
> --with-ghc=/home/simonpj/5builds/HEAD-5/inplace/bin/ghc-stage2
>
> But that fails as below, with a bizarre “bad interface file” error.
> Does anyone have a clue about what’s happening?  Does it work for you?

You probably have .hi files generated by a previous version of HEAD 
installed under your ~/.cabal/lib, and the current HEAD chokes on them. 
  Try rm -rf ~/.cabal/lib/*ghc-7.11*

Cheers
Simon


> Simon
>
> cabal install parsec
> --with-ghc=/home/simonpj/5builds/HEAD-5/inplace/bin/ghc-stage2
>
> Resolving dependencies...
>
> Configuring mtl-2.2.1...
>
> Building mtl-2.2.1...
>
> Preprocessing library mtl-2.2.1...
>
> [ 1 of 22] Compiling Control.Monad.Writer.Class (
> Control/Monad/Writer/Class.hs, dist/build/Control/Monad/Writer/Class.o )
>
> [ 2 of 22] Compiling Control.Monad.State.Class (
> Control/Monad/State/Class.hs, dist/build/Control/Monad/State/Class.o )
>
> [ 3 of 22] Compiling Control.Monad.Reader.Class (
> Control/Monad/Reader/Class.hs, dist/build/Control/Monad/Reader/Class.o )
>
> [ 4 of 22] Compiling Control.Monad.RWS.Class (
> Control/Monad/RWS/Class.hs, dist/build/Control/Monad/RWS/Class.o )
>
> [ 5 of 22] Compiling Control.Monad.Identity ( Control/Monad/Identity.hs,
> dist/build/Control/Monad/Identity.o )
>
> [ 6 of 22] Compiling Control.Monad.Error.Class (
> Control/Monad/Error/Class.hs, dist/build/Control/Monad/Error/Class.o )
>
> [ 7 of 22] Compiling Control.Monad.Cont.Class (
> Control/Monad/Cont/Class.hs, dist/build/Control/Monad/Cont/Class.o )
>
> [ 8 of 22] Compiling Control.Monad.Trans ( Control/Monad/Trans.hs,
> dist/build/Control/Monad/Trans.o )
>
> [ 9 of 22] Compiling Control.Monad.Error ( Control/Monad/Error.hs,
> dist/build/Control/Monad/Error.o )
>
> [10 of 22] Compiling Control.Monad.Except ( Control/Monad/Except.hs,
> dist/build/Control/Monad/Except.o )
>
> [11 of 22] Compiling Control.Monad.List ( Control/Monad/List.hs,
> dist/build/Control/Monad/List.o )
>
> [12 of 22] Compiling Control.Monad.RWS.Lazy ( Control/Monad/RWS/Lazy.hs,
> dist/build/Control/Monad/RWS/Lazy.o )
>
> [13 of 22] Compiling Control.Monad.RWS ( Control/Monad/RWS.hs,
> dist/build/Control/Monad/RWS.o )
>
> [14 of 22] Compiling Control.Monad.Reader ( Control/Monad/Reader.hs,
> dist/build/Control/Monad/Reader.o )
>
> [15 of 22] Compiling Control.Monad.RWS.Strict (
> Control/Monad/RWS/Strict.hs, dist/build/Control/Monad/RWS/Strict.o )
>
> [16 of 22] Compiling Control.Monad.State.Lazy (
> Control/Monad/State/Lazy.hs, dist/build/Control/Monad/State/Lazy.o )
>
> [17 of 22] Compiling Control.Monad.State ( Control/Monad/State.hs,
> dist/build/Control/Monad/State.o )
>
> [18 of 22] Compiling Control.Monad.State.Strict (
> Control/Monad/State/Strict.hs, dist/build/Control/Monad/State/Strict.o )
>
> [19 of 22] Compiling Control.Monad.Writer.Lazy (
> Control/Monad/Writer/Lazy.hs, dist/build/Control/Monad/Writer/Lazy.o )
>
> [20 of 22] Compiling Control.Monad.Writer ( Control/Monad/Writer.hs,
> dist/build/Control/Monad/Writer.o )
>
> [21 of 22] Compiling Control.Monad.Writer.Strict (
> Control/Monad/Writer/Strict.hs, dist/build/Control/Monad/Writer/Strict.o )
>
> [22 of 22] Compiling Control.Monad.Cont ( Control/Monad/Cont.hs,
> dist/build/Control/Monad/Cont.o )
>
> In-place registering mtl-2.2.1...
>
> Creating package registration file: /tmp/pkgConf-mtl-2.253500.1
>
> Installing library in
>
> /home/simonpj/.cabal/lib/x86_64-linux-ghc-7.11.20151125/mtl_29yPYQfz4VvKtYIFBb0Wdp
>
> Registering mtl-2.2.1...
>
> Installed mtl-2.2.1
>
> Downloading text-1.2.1.3...
>
> Failed to install text-1.2.1.3
>
> cabal: Error: some packages failed to install:
>
> parsec-3.1.9 depends on text-1.2.1.3 which failed to install.
>
> text-1.2.1.3 failed while downloading the package. The exception was:
>
> <socket: 10>: hGetBufSome: resource vanished (Connection reset by peer)
>
> simonpj at cam-05-unx:~/5builds/HEAD-5$ cabal install parsec
> --with-ghc=/home/simonpj/5builds/HEAD-5/inplace/bin/ghc-stage2
>
> Resolving dependencies...
>
> Downloading text-1.2.1.3...
>
> Configuring text-1.2.1.3...
>
> Building text-1.2.1.3...
>
> Preprocessing library text-1.2.1.3...
>
> [ 1 of 44] Compiling Data.Text.Internal.Read (
> Data/Text/Internal/Read.hs, dist/build/Data/Text/Internal/Read.o )
>
> [ 2 of 44] Compiling Data.Text.Internal.Encoding.Utf32 (
> Data/Text/Internal/Encoding/Utf32.hs,
> dist/build/Data/Text/Internal/Encoding/Utf32.o )
>
> [ 3 of 44] Compiling Data.Text.Internal.Builder.RealFloat.Functions (
> Data/Text/Internal/Builder/RealFloat/Functions.hs,
> dist/build/Data/Text/Internal/Builder/RealFloat/Functions.o )
>
> [ 4 of 44] Compiling Data.Text.Internal.Builder.Int.Digits (
> Data/Text/Internal/Builder/Int/Digits.hs,
> dist/build/Data/Text/Internal/Builder/Int/Digits.o )
>
> [ 5 of 44] Compiling Data.Text.Encoding.Error (
> Data/Text/Encoding/Error.hs, dist/build/Data/Text/Encoding/Error.o )
>
> Data/Text/Encoding/Error.hs:3:14: warning:
>
>      ‘Data.Text.Encoding.Error’ is marked as Trustworthy but has been
> inferred as safe!
>
> [ 6 of 44] Compiling Data.Text.Internal.Unsafe.Shift (
> Data/Text/Internal/Unsafe/Shift.hs,
> dist/build/Data/Text/Internal/Unsafe/Shift.o )
>
> [ 7 of 44] Compiling Data.Text.Internal.Encoding.Utf16 (
> Data/Text/Internal/Encoding/Utf16.hs,
> dist/build/Data/Text/Internal/Encoding/Utf16.o )
>
> [ 8 of 44] Compiling Data.Text.Internal.Functions (
> Data/Text/Internal/Functions.hs, dist/build/Data/Text/Internal/Functions.o )
>
> [ 9 of 44] Compiling Data.Text.Internal.Unsafe (
> Data/Text/Internal/Unsafe.hs, dist/build/Data/Text/Internal/Unsafe.o )
>
> [10 of 44] Compiling Data.Text.Array  ( Data/Text/Array.hs,
> dist/build/Data/Text/Array.o )
>
> [11 of 44] Compiling Data.Text.Internal.Unsafe.Char (
> Data/Text/Internal/Unsafe/Char.hs,
> dist/build/Data/Text/Internal/Unsafe/Char.o )
>
> [12 of 44] Compiling Data.Text.Internal ( Data/Text/Internal.hs,
> dist/build/Data/Text/Internal.o )
>
> [13 of 44] Compiling Data.Text.Internal.Fusion.Size (
> Data/Text/Internal/Fusion/Size.hs,
> dist/build/Data/Text/Internal/Fusion/Size.o )
>
> [14 of 44] Compiling Data.Text.Internal.Fusion.Types (
> Data/Text/Internal/Fusion/Types.hs,
> dist/build/Data/Text/Internal/Fusion/Types.o )
>
> [15 of 44] Compiling Data.Text.Internal.Fusion.CaseMapping (
> Data/Text/Internal/Fusion/CaseMapping.hs,
> dist/build/Data/Text/Internal/Fusion/CaseMapping.o )
>
> [16 of 44] Compiling Data.Text.Internal.Fusion.Common (
> Data/Text/Internal/Fusion/Common.hs,
> dist/build/Data/Text/Internal/Fusion/Common.o )
>
> [17 of 44] Compiling Data.Text.Unsafe ( Data/Text/Unsafe.hs,
> dist/build/Data/Text/Unsafe.o )
>
> [18 of 44] Compiling Data.Text.Internal.Private (
> Data/Text/Internal/Private.hs, dist/build/Data/Text/Internal/Private.o )
>
> [19 of 44] Compiling Data.Text.Internal.Fusion (
> Data/Text/Internal/Fusion.hs, dist/build/Data/Text/Internal/Fusion.o )
>
> [20 of 44] Compiling Data.Text.Show   ( Data/Text/Show.hs,
> dist/build/Data/Text/Show.o )
>
> Data/Text/Show.hs:57:11: warning:
>
>      Rule "TEXT literal UTF8" may never fire
>
>        because ‘unpackCStringUtf8#’ might inline first
>
>      Probable fix: add an INLINE[n] or NOINLINE[n] pragma for
> ‘unpackCStringUtf8#’
>
> [21 of 44] Compiling Data.Text.Internal.Encoding.Fusion.Common (
> Data/Text/Internal/Encoding/Fusion/Common.hs,
> dist/build/Data/Text/Internal/Encoding/Fusion/Common.o )
>
> [22 of 44] Compiling Data.Text.Internal.Encoding.Utf8 (
> Data/Text/Internal/Encoding/Utf8.hs,
> dist/build/Data/Text/Internal/Encoding/Utf8.o )
>
> [23 of 44] Compiling Data.Text.Internal.Encoding.Fusion (
> Data/Text/Internal/Encoding/Fusion.hs,
> dist/build/Data/Text/Internal/Encoding/Fusion.o )
>
> [24 of 44] Compiling Data.Text.Encoding ( Data/Text/Encoding.hs,
> dist/build/Data/Text/Encoding.o )
>
> [25 of 44] Compiling Data.Text.Internal.Lazy.Encoding.Fusion (
> Data/Text/Internal/Lazy/Encoding/Fusion.hs,
> dist/build/Data/Text/Internal/Lazy/Encoding/Fusion.o )
>
> [26 of 44] Compiling Data.Text.Internal.Search (
> Data/Text/Internal/Search.hs, dist/build/Data/Text/Internal/Search.o )
>
> [27 of 44] Compiling Data.Text.Foreign ( Data/Text/Foreign.hs,
> dist/build/Data/Text/Foreign.o )
>
> [28 of 44] Compiling Data.Text        ( Data/Text.hs,
> dist/build/Data/Text.o )
>
> Data/Text.hs:558:1: warning:
>
>      Rule "TEXT compareN/length -> compareLength" may never fire
>
>        because ‘length’ might inline first
>
>      Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’
>
> Data/Text.hs:563:1: warning:
>
>      Rule "TEXT ==N/length -> compareLength/==EQ" may never fire
>
>        because ‘length’ might inline first
>
>      Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’
>
> Data/Text.hs:568:1: warning:
>
>      Rule "TEXT /=N/length -> compareLength//=EQ" may never fire
>
>        because ‘length’ might inline first
>
>      Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’
>
> Data/Text.hs:573:1: warning:
>
>      Rule "TEXT <N/length -> compareLength/==LT" may never fire
>
>        because ‘length’ might inline first
>
>      Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’
>
> Data/Text.hs:578:1: warning:
>
>      Rule "TEXT <=N/length -> compareLength//=GT" may never fire
>
>        because ‘length’ might inline first
>
>      Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’
>
> Data/Text.hs:583:1: warning:
>
>      Rule "TEXT >N/length -> compareLength/==GT" may never fire
>
>        because ‘length’ might inline first
>
>      Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’
>
> Data/Text.hs:588:1: warning:
>
>      Rule "TEXT >=N/length -> compareLength//=LT" may never fire
>
>        because ‘length’ might inline first
>
>      Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘length’
>
> [29 of 44] Compiling Data.Text.Internal.IO ( Data/Text/Internal/IO.hs,
> dist/build/Data/Text/Internal/IO.o )
>
> [30 of 44] Compiling Data.Text.IO     ( Data/Text/IO.hs,
> dist/build/Data/Text/IO.o )
>
> [31 of 44] Compiling Data.Text.Internal.Lazy (
> Data/Text/Internal/Lazy.hs, dist/build/Data/Text/Internal/Lazy.o )
>
> [32 of 44] Compiling Data.Text.Internal.Lazy.Fusion (
> Data/Text/Internal/Lazy/Fusion.hs,
> dist/build/Data/Text/Internal/Lazy/Fusion.o )
>
> [33 of 44] Compiling Data.Text.Internal.Lazy.Search (
> Data/Text/Internal/Lazy/Search.hs,
> dist/build/Data/Text/Internal/Lazy/Search.o )
>
> [34 of 44] Compiling Data.Text.Lazy.Internal (
> Data/Text/Lazy/Internal.hs, dist/build/Data/Text/Lazy/Internal.o )
>
> [35 of 44] Compiling Data.Text.Lazy.Encoding (
> Data/Text/Lazy/Encoding.hs, dist/build/Data/Text/Lazy/Encoding.o )
>
> [36 of 44] Compiling Data.Text.Lazy   ( Data/Text/Lazy.hs,
> dist/build/Data/Text/Lazy.o )
>
> Data/Text/Lazy.hs:403:11: warning:
>
>      Rule "TEXT literal UTF8" may never fire
>
>        because ‘unpackCStringUtf8#’ might inline first
>
>      Probable fix: add an INLINE[n] or NOINLINE[n] pragma for
> ‘unpackCStringUtf8#’
>
> [37 of 44] Compiling Data.Text.Internal.Builder (
> Data/Text/Internal/Builder.hs, dist/build/Data/Text/Internal/Builder.o )
>
> Data/Text/Internal/Builder.hs:311:1: warning:
>
>      Rule "flush/flush" may never fire
>
>        because ‘flush’ might inline first
>
>      Probable fix: add an INLINE[n] or NOINLINE[n] pragma for ‘flush’
>
> [38 of 44] Compiling Data.Text.Lazy.Builder ( Data/Text/Lazy/Builder.hs,
> dist/build/Data/Text/Lazy/Builder.o )
>
> [39 of 44] Compiling Data.Text.Internal.Builder.Functions (
> Data/Text/Internal/Builder/Functions.hs,
> dist/build/Data/Text/Internal/Builder/Functions.o )
>
> [40 of 44] Compiling Data.Text.Lazy.Builder.Int (
> Data/Text/Lazy/Builder/Int.hs, dist/build/Data/Text/Lazy/Builder/Int.o )
>
> [41 of 44] Compiling Data.Text.Lazy.IO ( Data/Text/Lazy/IO.hs,
> dist/build/Data/Text/Lazy/IO.o )
>
> [42 of 44] Compiling Data.Text.Lazy.Read ( Data/Text/Lazy/Read.hs,
> dist/build/Data/Text/Lazy/Read.o )
>
> Data/Text/Lazy/Read.hs:3:14: warning:
>
>      ‘Data.Text.Lazy.Read’ is marked as Trustworthy but has been
> inferred as safe!
>
> [43 of 44] Compiling Data.Text.Lazy.Builder.RealFloat (
> Data/Text/Lazy/Builder/RealFloat.hs,
> dist/build/Data/Text/Lazy/Builder/RealFloat.o )
>
> [44 of 44] Compiling Data.Text.Read   ( Data/Text/Read.hs,
> dist/build/Data/Text/Read.o )
>
> In-place registering text-1.2.1.3...
>
> Creating package registration file: /tmp/pkgConf-text-1.2.118076.3
>
> Installing library in
>
> /home/simonpj/.cabal/lib/x86_64-linux-ghc-7.11.20151125/text_5Rq52TgwV3S3ky6aLF96ly
>
> Registering text-1.2.1.3...
>
> Installed text-1.2.1.3
>
> Configuring parsec-3.1.9...
>
> Building parsec-3.1.9...
>
> Preprocessing library parsec-3.1.9...
>
> [ 1 of 25] Compiling Text.Parsec.Pos  ( Text/Parsec/Pos.hs,
> dist/build/Text/Parsec/Pos.o )
>
> [ 2 of 25] Compiling Text.Parsec.Error ( Text/Parsec/Error.hs,
> dist/build/Text/Parsec/Error.o )
>
> [ 3 of 25] Compiling Text.ParserCombinators.Parsec.Error (
> Text/ParserCombinators/Parsec/Error.hs,
> dist/build/Text/ParserCombinators/Parsec/Error.o )
>
> [ 4 of 25] Compiling Text.Parsec.Prim ( Text/Parsec/Prim.hs,
> dist/build/Text/Parsec/Prim.o )
>
> Text/Parsec/Prim.hs:75:1: error:
>
>      Bad interface file:
> /home/simonpj/.cabal/lib/x86_64-linux-ghc-7.11.20151125/text_5Rq52TgwV3S3ky6aLF96ly/Data/Text.hi
>
>          Something is amiss; requested module
> text-1.2.1.3 at text-1.2.1.3-97fb94aeb32201606fe5187cbce5d852:Data.Text
> differs from name found in the interface file
> text_5Rq52TgwV3S3ky6aLF96ly:Data.Text
>
> Text/Parsec/Prim.hs:76:1: error:
>
>      Bad interface file:
> /home/simonpj/.cabal/lib/x86_64-linux-ghc-7.11.20151125/text_5Rq52TgwV3S3ky6aLF96ly/Data/Text/Lazy.hi
>
>          Something is amiss; requested module
> text-1.2.1.3 at text-1.2.1.3-97fb94aeb32201606fe5187cbce5d852:Data.Text.Lazy differs
> from name found in the interface file
> text_5Rq52TgwV3S3ky6aLF96ly:Data.Text.Lazy
>
> Text/Parsec/Prim.hs:80:1: error:
>
>      Bad interface file:
> /home/simonpj/.cabal/lib/x86_64-linux-ghc-7.11.20151125/mtl_29yPYQfz4VvKtYIFBb0Wdp/Control/Monad/Trans.hi
>
>          Something is amiss; requested module
> mtl-2.2.1 at mtl-2.2.1-fd5d2a6f3b4f2b35d982c365df381a09:Control.Monad.Trans
> differs from name found in the interface file
> mtl_29yPYQfz4VvKtYIFBb0Wdp:Control.Monad.Trans
>
> Text/Parsec/Prim.hs:81:1: error:
>
>      Bad interface file:
> /home/simonpj/.cabal/lib/x86_64-linux-ghc-7.11.20151125/mtl_29yPYQfz4VvKtYIFBb0Wdp/Control/Monad/Identity.hi
>
>          Something is amiss; requested module
> mtl-2.2.1 at mtl-2.2.1-fd5d2a6f3b4f2b35d982c365df381a09:Control.Monad.Identity
> differs from name found in the interface file
> mtl_29yPYQfz4VvKtYIFBb0Wdp:Control.Monad.Identity
>
> Text/Parsec/Prim.hs:83:1: error:
>
>      Bad interface file:
> /home/simonpj/.cabal/lib/x86_64-linux-ghc-7.11.20151125/mtl_29yPYQfz4VvKtYIFBb0Wdp/Control/Monad/Reader/Class.hi
>
>          Something is amiss; requested module
> mtl-2.2.1 at mtl-2.2.1-fd5d2a6f3b4f2b35d982c365df381a09:Control.Monad.Reader.Class
> differs from name found in the interface file
> mtl_29yPYQfz4VvKtYIFBb0Wdp:Control.Monad.Reader.Class
>
> Text/Parsec/Prim.hs:84:1: error:
>
>      Bad interface file:
> /home/simonpj/.cabal/lib/x86_64-linux-ghc-7.11.20151125/mtl_29yPYQfz4VvKtYIFBb0Wdp/Control/Monad/State/Class.hi
>
>          Something is amiss; requested module
> mtl-2.2.1 at mtl-2.2.1-fd5d2a6f3b4f2b35d982c365df381a09:Control.Monad.State.Class
> differs from name found in the interface file
> mtl_29yPYQfz4VvKtYIFBb0Wdp:Control.Monad.State.Class
>
> Text/Parsec/Prim.hs:85:1: error:
>
>      Bad interface file:
> /home/simonpj/.cabal/lib/x86_64-linux-ghc-7.11.20151125/mtl_29yPYQfz4VvKtYIFBb0Wdp/Control/Monad/Cont/Class.hi
>
>          Something is amiss; requested module
> mtl-2.2.1 at mtl-2.2.1-fd5d2a6f3b4f2b35d982c365df381a09:Control.Monad.Cont.Class
> differs from name found in the interface file
> mtl_29yPYQfz4VvKtYIFBb0Wdp:Control.Monad.Cont.Class
>
> Text/Parsec/Prim.hs:86:1: error:
>
>      Bad interface file:
> /home/simonpj/.cabal/lib/x86_64-linux-ghc-7.11.20151125/mtl_29yPYQfz4VvKtYIFBb0Wdp/Control/Monad/Error/Class.hi
>
>          Something is amiss; requested module
> mtl-2.2.1 at mtl-2.2.1-fd5d2a6f3b4f2b35d982c365df381a09:Control.Monad.Error.Class
> differs from name found in the interface file
> mtl_29yPYQfz4VvKtYIFBb0Wdp:Control.Monad.Error.Class
>
> Failed to install parsec-3.1.9
>
> cabal: Error: some packages failed to install:
>
> parsec-3.1.9 failed during the building phase. The exception was:
>
> ExitFailure 1
>
> simonpj at cam-05-unx:~/5builds/HEAD-5$
> /home/simonpj/5builds/HEAD-5/inplace/bin/ghc-pkg list
>
> /5playpen/simonpj/HEAD-5/inplace/lib/package.conf.d:
>
>      Cabal-1.23.0.0
>
>      array-0.5.1.0
>
>      base-4.9.0.0
>
>      binary-0.7.5.0
>
>      bytestring-0.10.6.0
>
>      containers-0.5.6.2
>
>      deepseq-1.4.2.0
>
>      directory-1.2.5.0
>
>      filepath-1.4.1.0
>
>      (ghc-7.11.20151125)
>
>      ghc-boot-0.0.0.0
>
>      ghc-prim-0.5.0.0
>
>      haskeline-0.7.2.1
>
>      hoopl-3.10.2.0
>
>      hpc-0.6.0.2
>
>      integer-gmp-1.0.0.0
>
>      pretty-1.1.2.0
>
>      process-1.4.1.0
>
>      rts-1.0
>
>      template-haskell-2.11.0.0
>
>      terminfo-0.4.0.1
>
>      time-1.5.0.1
>
>      transformers-0.4.3.0
>
>      unix-2.7.1.0
>
>      xhtml-3000.2.1
>
> /home/simonpj/.ghc/x86_64-linux-7.11.20151125/package.conf.d:
>
>      mtl-2.2.1
>
>      text-1.2.1.3
>
> simonpj at cam-05-unx:~/5builds/HEAD-5$
>
>
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>


More information about the ghc-devs mailing list