Problem with a second installed version of the syb package

Hello all, I mentioned this problem before on IRC and remember this might have had something to do with syb having been unversioned in the release of GHC 6.10.1. However, I've tested this under 6.10.2-rc1 and the problem is still there. Concretely, the problem is: I've developed a sucessor package to syb-0.1.0.0. I can install it with runghc Setup.hs install. However, after having installed it I can't use it, getting this error when loading any module that imports Data.Generics: Bad interface file: C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1\Data\Generics.hi Something is amiss; requested module syb:Data.Generics differs from name found in the interface file syb-0.2.0.0:Data.Generics Failed, modules loaded: none. What is the problem here? Thanks, Pedro

On Fri, Mar 20, 2009 at 09:33:07AM +0100, José Pedro Magalhães wrote:
Bad interface file: C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1\Data\Generics.hi Something is amiss; requested module syb:Data.Generics differs from name found in the interface file syb-0.2.0.0:Data.Generics Failed, modules loaded: none.
What is the problem here?
What does ghc --show-iface "C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1\Data\Generics.hi" say? Also, if you add -v to the commandline that is going wrong then what does it say that syb is being mapped to? Thanks Ian

Hello Ian,
2009/3/21 Ian Lynagh
On Fri, Mar 20, 2009 at 09:33:07AM +0100, José Pedro Magalhães wrote:
Bad interface file: C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1\Data\Generics.hi Something is amiss; requested module syb:Data.Generics differs
from
name found in the interface file syb-0.2.0.0:Data.Generics Failed, modules loaded: none.
What is the problem here?
What does
ghc --show-iface "C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1\Data\Generics.hi"
say?
I'm sorry, I reported the error as ran from ghc-6.10.1. Running it with ghc-6.10.2-rc1 I get the error Bad interface file: C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1.20090314\Data\Generics.hi Something is amiss; requested module syb:Data.Generics differs from name found in the interface file syb-0.2.0.0:Data.Generics Failed, modules loaded: none. ghc --show-iface "C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1.20090314\Data\Generics.hi" says: Magic: Wanted 129742, got 129742 Version: Wanted [6, 1, 0, 1, 2, 0, 0, 9, 0, 3, 1, 4], got [6, 1, 0, 1, 2, 0, 0, 9, 0, 3, 1, 4] Way: Wanted [], got [] interface syb-0.2.0.0:Data.Generics 610120090314 interface hash: 2f252bc190bffcb63bc93af0a7864f85 ABI hash: a2784ce2c50f029ab89be2567641765b export-list hash: 9f48270b3bb91438449202f71d1f8386 orphan hash: 693e9af84d3dfcc71e640e005bdc5e2e where export syb-0.2.0.0:Data.Generics.Aliases Generic Generic'|{Generic' Generic' unG eneric'} GenericB GenericM GenericM'|{GM GenericM' unGM} GenericQ GenericQ'|{GQ GenericQ' unGQ} GenericR GenericT GenericT'|{GT GenericT' unGT} choiceMp choiceQ ext0 ext1M ext1Q ext1R ext1T extB extM extMp extQ extR extT mkM mkMp mkQ mkR mk T orElse recoverMp recoverQ export syb-0.2.0.0:Data.Generics.Schemes everything everywhere everywhere' every whereBut everywhereM gcount gdepth gfindtype glength gnodecount gsize gtypecount listify something somewhere synthesize export syb-0.2.0.0:Data.Generics.Text gread gshow export syb-0.2.0.0:Data.Generics.Twins geq gfoldlAccum gmapAccumM gmapAccumQ gma pAccumQl gmapAccumQr gmapAccumT gzip gzipWithM gzipWithQ gzipWithT export ghc-prim:GHC.Generics :*:|{:*: :*:} :+:{Inl Inr} Unit|{Unit Unit} export base:Data.Data ConIndex Constr ConstrRep|{AlgConstr ConstrRep FloatConstr IntConstr StringConstr} Data{dataCast1 dataCast2 dataTypeOf gfoldl gmapM gmapMo gmapMp gmapQ gmapQi gmapQl gmapQr gmapT gunfold toConstr} DataRep|{AlgRep DataR ep FloatRep IntRep NoRep StringRep} DataType Fixity{Infix Prefix} constrFields c onstrFixity constrIndex constrRep constrType dataTypeConstrs dataTypeName dataTy peRep fromConstr fromConstrB fromConstrM indexConstr isAlgType isNorepType maxCo nstrIndex mkConstr mkDataType mkFloatConstr mkFloatType mkIntConstr mkIntType mk NorepType mkStringConstr mkStringType readConstr repConstr showConstr tyconModul e tyconUQname export base:Data.Typeable TyCon TypeRep Typeable{typeOf} Typeable1{typeOf1} Type able2{typeOf2} Typeable3{typeOf3} Typeable4{typeOf4} Typeable5{typeOf5} Typeable 6{typeOf6} Typeable7{typeOf7} cast funResultTy gcast gcast1 gcast2 mkAppTy mkFun Ty mkTyCon mkTyConApp showsTypeRep splitTyConApp tyConString typeOf1Default type Of2Default typeOf3Default typeOf4Default typeOf5Default typeOf6Default typeOfDef ault typeRepArgs typeRepKey typeRepTyCon module dependencies: Data.Generics.Aliases Data.Generics.Instances Data.Generics.Schemes Data.Generics.Text Data.Generics.Twin s package dependencies: ghc-prim integer base orphans: base:Control.Exception.Base syb-0.2.0.0:Data.Generics.Instances base:Data.Tuple base:GHC.Base base:GHC.Float base:GHC.Num family instance modules: import base:Data.Data 2cfe9f6e828ce97d6906225849a7a8df import base:Data.Typeable 00f181e6f8bb32e13d28aad58cee1bf9 import base:GHC.Base 6bdeebb11d04df398eb46d76fd9fedc8 import base:Prelude eac9ca3c0ae6d00a0fc0f1832a247e5e import Data.Generics.Aliases a418fc77a8afb8f63b1349e7e70aae1f exports: 8a3a8813709e82f89b2cbe434cbbeb32 Generic a3d985935013f874e5dce91cd67fc755 Generic' 88e63b7215ef3e70992766168a404331 GenericB b1b3a4bb9264b0843b0aed33984ed6e2 GenericM f1cb29fbd7771577b3ce27762a0176ad GenericM' 270d4c132681a10609808f680f30d2a1 GenericQ acd36022e368af6f81df3e2c9d0655b3 GenericQ' 4fdb300d3293b22b2d81445caaf7f70b GenericR c34610525f7b7b1c9f9866ea45e5f488 GenericT aeab09799011076dc8f091fc77329bb7 GenericT' dfd635d65ef1b252ebb551bd573e2fa4 choiceMp e2a24be4873fbf0985c117f952222ef6 choiceQ 402677c976faf710fa20d0dbfaed4338 ext0 188b47185552ece2b9563d279b9f6b11 ext1M 55c90f3b7aa3b30a09235074ccdd8474 ext1Q 0fdb24f93014e9134d27059cab8791f5 ext1R a85ebb59fcd8c1a276968370a82d4696 ext1T bab0e7a30776525b1b9e8e170817874d extB 599378e0cc7f6e3e61782e3f5e819f6e extM 709f4b5d8c98e31a40af3a15507871f9 extMp 5e8fcc4141d141bf89ede5f96286514c extQ 09256ec13d553bb7d533db2aba1e6ddb extR e6a8c2d13cf699f254418d213ffb02ce extT 16dd11bc8a533fc6f3ee4edd8da36b56 mkM e011e650bd1a6087396a4dede6e2a1df mkMp dbe80e6608d434ccb554389d5e3f29ad mkQ 0bc35ad32fea2b9bc51816ab146830e1 mkR 3396bcc0b237aa8e56572e4082069b06 mkT aadc01dff67d17c2103458fcf84eae37 orElse e07f75850c897d4eff1b993e172a1b0d recoverMp 4f46329c4393b682ea63d5acc423148d recoverQ d6d52a9b5c344bc937541944805bf93a import Data.Generics.Instances be24e3594312407d61d754a104471f52 exports: f9b081a51f91d5be9de0cd5137909f73 import Data.Generics.Schemes 89cca3ef019bd5311992fc94c8e2d9f2 exports: c5d833b93c8fdd62dea214857de57662 everything 9366be0f56347852103e5d0647869181 everywhere c2db8dcff3ce75dbfc11f2dfb43c448f everywhere' cbb509b400eb9774043849fc7abd24a0 everywhereBut a5a32f5290696d97d277e6cf3ba89839 everywhereM 58ca3d5f8ece2b6dfd11e335bd480b22 gcount 4bae2a419da0c4d1c75ea313041d32e0 gdepth ce875ba06e09ee07306385e44e5a1d3a gfindtype a50b0e886f39e79dcd2ae439db65ee43 glength 1d6577a46d8467ccff4dc9b6ca42ef58 gnodecount 8b7419fbff5b9f4ae16e41e631002a98 gsize cb796acfe38c26e540a43269e45553bf gtypecount 226ca256162d808d3a0162b0542b0cbc listify 66c3a24a9a1ad07ec7b03f094c11c1aa something 043694605a8a297710fd1aa7cbaf481f somewhere 9806fc835d327210ec0bbf64d35714c6 synthesize 9c35f4d2f745cde9e5ef62bae4823d40 import Data.Generics.Text cd89d5c73b61195f20a053ea15752a2e exports: 5f980955eacfea020c74a684c0447584 gread cef65a5c719cdfea5d5c3808be676f26 gshow ecddfe04849b966d1e2dafc28cf28d0c import Data.Generics.Twins 7cf0e8cddb763bac384f96d215a3d86b exports: 673b00515535122807b4b85b42ff3894 geq 0c781de732da371ac3c05f27034fd24a gfoldlAccum 1c69ebb9e30c989ae42a20d0f084cf7e gmapAccumM 244b54d9c627ddc206ccc3c7ef2ec659 gmapAccumQ e17d6c35ee436bd1cc08cd011696d6c6 gmapAccumQl 4bce72827a7e2373c4f09770810e15d7 gmapAccumQr 000342ad0f0fcac3e7618dc77b612a85 gmapAccumT 6070b961c37f7edcae4a5591ea987c15 gzip beb1639480a745f9a5017cfa4564e751 gzipWithM 3255db2551d82167b4bb372e91af5e22 gzipWithQ b459a4f22ca94f1e92f472723edad07e gzipWithT 3f96edf00f37f562a3cff3e737a6c096 vectorised variables: vectorised tycons: vectorised reused tycons: Also, if you add -v to the commandline that is going wrong then what
does it say that syb is being mapped to?
To syb-0.2.0.0? Output follows: GHCi, version 6.10.1.20090314: http://www.haskell.org/ghc/ :? for help Glasgow Haskell Compiler, Version 6.10.1.20090314, for Haskell 98, stage 2 booted by GHC version 6.10.1 Using package config file: C:\ghc\GHC-61~1.2-R\package.conf hiding package syb-0.1.0.1 to avoid conflict with later version syb-0.2.0.0 hiding package base-3.0.3.1 to avoid conflict with later version base-4.1.0.0 wired-in package ghc-prim mapped to ghc-prim-0.1.0.0 wired-in package integer mapped to integer-0.1.0.1 wired-in package base mapped to base-4.1.0.0 wired-in package rts mapped to rts-1.0 wired-in package haskell98 mapped to haskell98-1.0.1.0 wired-in package syb mapped to syb-0.2.0.0 wired-in package template-haskell mapped to template-haskell-2.3.0.1 wired-in package dph-seq mapped to dph-seq-0.3 wired-in package dph-par mapped to dph-par-0.3 Hsc static flags: -static Loading package ghc-prim ... linking ... done. Loading package integer ... linking ... done. Loading package base ... linking ... done. *** Chasing dependencies: Chasing modules from: Stable obj: [] Stable BCO: [] unload: retaining objs [] unload: retaining bcos [] Ready for upsweep [] Upsweep completely successful. *** Deleting temp files: Deleting: *** Chasing dependencies: Chasing modules from: *test.hs Stable obj: [] Stable BCO: [] unload: retaining objs [] unload: retaining bcos [] Ready for upsweep [NONREC ModSummary { ms_hs_date = Thu Feb 5 08:34:16 W. Europe Standard Time 2009 ms_mod = main:Test, ms_imps = [Data.Generics] ms_srcimps = [] }] compile: input file test.hs *** Checking old interface for main:Test: [1 of 1] Compiling Test ( test.hs, interpreted ) *** Parser: *** Renamer/typechecker: test.hs:3:0: Bad interface file: C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1.20090314\Data\Generics.hi Something is amiss; requested module syb:Data.Generics differs from name found in the interface file syb-0.2.0.0:Data.Generics *** Deleting temp files: Deleting: Upsweep partially successful. *** Deleting temp files: Deleting: Failed, modules loaded: none. Thanks, Pedro

On Mon, Mar 23, 2009 at 10:53:19AM +0100, José Pedro Magalhães wrote:
Bad interface file: C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1.20090314\Data\Generics.hi Something is amiss; requested module syb:Data.Generics differs from name found in the interface file syb-0.2.0.0:Data.Generics Failed, modules loaded: none.
ghc --show-iface "C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1.20090314\Data\Generics.hi" says:
interface syb-0.2.0.0:Data.Generics 610120090314
It looks like this was built with -package-name syb-0.2.0.0, but it should be built with -package-name syb. There should be ghc-options: -package-name syb in the .cabal file to make this happen. Thanks Ian

Hello Ian,
2009/3/25 Ian Lynagh
On Mon, Mar 23, 2009 at 10:53:19AM +0100, José Pedro Magalhães wrote:
Bad interface file: C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1.20090314\Data\Generics.hi Something is amiss; requested module syb:Data.Generics differs
from
name found in the interface file syb-0.2.0.0:Data.Generics Failed, modules loaded: none.
ghc --show-iface "C:\Program Files (x86)\Haskell\syb-0.2.0.0\ghc-6.10.1.20090314\Data\Generics.hi" says:
interface syb-0.2.0.0:Data.Generics 610120090314
It looks like this was built with -package-name syb-0.2.0.0, but it should be built with -package-name syb. There should be ghc-options: -package-name syb in the .cabal file to make this happen.
Yes, that works, thanks. I thought this problem was caused by having the syb package unversioned in the GHC repo, and I also thought that that had changed, but now I see that the flag -package-name syb is still there. Would you know if this necessary for some reason? Thanks, Pedro

Hi Pedro, On Wed, Mar 25, 2009 at 03:43:42PM +0100, José Pedro Magalhães wrote:
2009/3/25 Ian Lynagh
ghc-options: -package-name syb
Yes, that works, thanks. I thought this problem was caused by having the syb package unversioned in the GHC repo, and I also thought that that had changed, but now I see that the flag -package-name syb is still there. Would you know if this necessary for some reason?
Ah, I guess this was only needed because Data.Data was in syb. I can't see a reason why syb needs to be wired in any more, so I have unwired it in the HEAD. Thanks Ian
participants (2)
-
Ian Lynagh
-
José Pedro Magalhães