Message "GHC/PrimopWrappers.hs:133:29: Not in scope:
`GHC.Prim.quotInteger2Exp#'" building GHC with additional
primitive operation
Thorkil Naur
naur at post11.tele.dk
Sun Mar 26 12:54:50 EST 2006
On Thursday 23 March 2006 17:51, Simon Marlow wrote:
> I think you probably just haven't recompiled enough stuff after adding
> the primop. I can't tell immediately whether it's the compiler that is
> out of date, or an interface file in libraries/base.
>
> To be on the safe side, you could 'make clean' in ghc/compiler and
> libraries/base, then rebuild both.
>
> Cheers,
> Simon
>
Hello,
Thanks a lot, that removed some obstacles. Unfortunately, not all. Following
successful "make clean" and "make all" in "ghc/compiler" and
"libraries/base", a "make all" in the top-level directory reported:
../../ghc/compiler/stage1/ghc-inplace -o stage2/ghc-6.4.1 -H16m -O
-istage2/utils -istage2/basicTypes -istage2/types -istage2/hsSyn
-istage2/prelude -istage2/rename -istage2/typecheck -istage2/deSugar
-istage2/coreSyn -istage2/specialise -istage2/simplCore -istage2/stranal
-istage2/stgSyn -istage2/simplStg -istage2/codeGen -istage2/main
-istage2/profiling -istage2/parser -istage2/cprAnalysis -istage2/compMan
-istage2/ndpFlatten -istage2/iface -istage2/cmm -istage2/nativeGen
-istage2/ghci -Istage2 -DGHCI -package template-haskell -package readline
-DUSE_READLINE -cpp -fglasgow-exts -fno-generics -Rghc-timing -I. -IcodeGen
-InativeGen -Iparser -package unix -package Cabal -recomp -Rghc-timing -H16M
'-#include "hschooks.h"' -no-link-chk stage2/basicTypes/BasicTypes.o
stage2/basicTypes/DataCon.o stage2/basicTypes/Demand.o
stage2/basicTypes/FieldLabel.o stage2/basicTypes/Id.o
stage2/basicTypes/IdInfo.o stage2/basicTypes/Literal.o
stage2/basicTypes/MkId.o stage2/basicTypes/Module.o
stage2/basicTypes/Name.o stage2/basicTypes/NameEnv.o
stage2/basicTypes/NameSet.o stage2/basicTypes/NewDemand.o
stage2/basicTypes/OccName.o stage2/basicTypes/RdrName.o
stage2/basicTypes/SrcLoc.o stage2/basicTypes/UniqSupply.o
stage2/basicTypes/Unique.o stage2/basicTypes/Var.o
stage2/basicTypes/VarEnv.o stage2/basicTypes/VarSet.o stage2/cmm/CLabel.o
stage2/cmm/Cmm.o stage2/cmm/CmmLex.o stage2/cmm/CmmLint.o
stage2/cmm/CmmParse.o stage2/cmm/CmmUtils.o stage2/cmm/MachOp.o
stage2/cmm/PprC.o stage2/cmm/PprCmm.o stage2/codeGen/Bitmap.o
stage2/codeGen/CgBindery.o stage2/codeGen/CgCallConv.o
stage2/codeGen/CgCase.o stage2/codeGen/CgClosure.o stage2/codeGen/CgCon.o
stage2/codeGen/CgExpr.o stage2/codeGen/CgForeignCall.o
stage2/codeGen/CgHeapery.o stage2/codeGen/CgInfoTbls.o
stage2/codeGen/CgLetNoEscape.o stage2/codeGen/CgMonad.o
stage2/codeGen/CgParallel.o stage2/codeGen/CgPrimOp.o
stage2/codeGen/CgProf.o stage2/codeGen/CgStackery.o
stage2/codeGen/CgTailCall.o stage2/codeGen/CgTicky.o
stage2/codeGen/CgUtils.o stage2/codeGen/ClosureInfo.o
stage2/codeGen/CodeGen.o stage2/codeGen/SMRep.o
stage2/compMan/CompManager.o stage2/coreSyn/CoreFVs.o
stage2/coreSyn/CoreLint.o stage2/coreSyn/CorePrep.o
stage2/coreSyn/CoreSubst.o stage2/coreSyn/CoreSyn.o
stage2/coreSyn/CoreTidy.o stage2/coreSyn/CoreUnfold.o
stage2/coreSyn/CoreUtils.o stage2/coreSyn/ExternalCore.o
stage2/coreSyn/MkExternalCore.o stage2/coreSyn/PprCore.o
stage2/coreSyn/PprExternalCore.o stage2/cprAnalysis/CprAnalyse.o
stage2/deSugar/Check.o stage2/deSugar/Desugar.o stage2/deSugar/DsArrows.o
stage2/deSugar/DsBinds.o stage2/deSugar/DsCCall.o stage2/deSugar/DsExpr.o
stage2/deSugar/DsForeign.o stage2/deSugar/DsGRHSs.o
stage2/deSugar/DsListComp.o stage2/deSugar/DsMeta.o
stage2/deSugar/DsMonad.o stage2/deSugar/DsUtils.o stage2/deSugar/Match.o
stage2/deSugar/MatchCon.o stage2/deSugar/MatchLit.o
stage2/ghci/ByteCodeAsm.o stage2/ghci/ByteCodeFFI.o
stage2/ghci/ByteCodeGen.o stage2/ghci/ByteCodeInstr.o
stage2/ghci/ByteCodeItbls.o stage2/ghci/ByteCodeLink.o
stage2/ghci/InteractiveUI.o stage2/ghci/Linker.o stage2/ghci/ObjLink.o
stage2/hsSyn/Convert.o stage2/hsSyn/HsBinds.o stage2/hsSyn/HsDecls.o
stage2/hsSyn/HsExpr.o stage2/hsSyn/HsImpExp.o stage2/hsSyn/HsLit.o
stage2/hsSyn/HsPat.o stage2/hsSyn/HsSyn.o stage2/hsSyn/HsTypes.o
stage2/hsSyn/HsUtils.o stage2/iface/BinIface.o stage2/iface/BuildTyCl.o
stage2/iface/IfaceEnv.o stage2/iface/IfaceSyn.o stage2/iface/IfaceType.o
stage2/iface/LoadIface.o stage2/iface/MkIface.o stage2/iface/TcIface.o
stage2/main/CmdLineOpts.o stage2/main/CodeOutput.o stage2/main/Config.o
stage2/main/Constants.o stage2/main/DriverFlags.o
stage2/main/DriverMkDepend.o stage2/main/DriverPhases.o
stage2/main/DriverPipeline.o stage2/main/DriverState.o
stage2/main/DriverUtil.o stage2/main/ErrUtils.o stage2/main/Finder.o
stage2/main/GetImports.o stage2/main/HscMain.o stage2/main/HscStats.o
stage2/main/HscTypes.o stage2/main/Main.o stage2/main/PackageConfig.o
stage2/main/Packages.o stage2/main/ParsePkgConf.o stage2/main/SysTools.o
stage2/main/TidyPgm.o stage2/nativeGen/AsmCodeGen.o
stage2/nativeGen/MachCodeGen.o stage2/nativeGen/MachInstrs.o
stage2/nativeGen/MachRegs.o stage2/nativeGen/NCGMonad.o
stage2/nativeGen/PositionIndependentCode.o stage2/nativeGen/PprMach.o
stage2/nativeGen/RegAllocInfo.o stage2/nativeGen/RegisterAlloc.o
stage2/ndpFlatten/FlattenInfo.o stage2/ndpFlatten/FlattenMonad.o
stage2/ndpFlatten/Flattening.o stage2/ndpFlatten/NDPCoreUtils.o
stage2/ndpFlatten/PArrAnal.o stage2/parser/Ctype.o stage2/parser/LexCore.o
stage2/parser/Lexer.o stage2/parser/Parser.o stage2/parser/ParserCore.o
stage2/parser/ParserCoreUtils.o stage2/parser/RdrHsSyn.o
stage2/prelude/ForeignCall.o stage2/prelude/PrelInfo.o
stage2/prelude/PrelNames.o stage2/prelude/PrelRules.o
stage2/prelude/PrimOp.o stage2/prelude/TysPrim.o
stage2/prelude/TysWiredIn.o stage2/profiling/CostCentre.o
stage2/profiling/SCCfinal.o stage2/rename/RnBinds.o stage2/rename/RnEnv.o
stage2/rename/RnExpr.o stage2/rename/RnHsSyn.o stage2/rename/RnNames.o
stage2/rename/RnSource.o stage2/rename/RnTypes.o stage2/simplCore/CSE.o
stage2/simplCore/FloatIn.o stage2/simplCore/FloatOut.o
stage2/simplCore/LiberateCase.o stage2/simplCore/OccurAnal.o
stage2/simplCore/SAT.o stage2/simplCore/SATMonad.o
stage2/simplCore/SetLevels.o stage2/simplCore/SimplCore.o
stage2/simplCore/SimplEnv.o stage2/simplCore/SimplMonad.o
stage2/simplCore/SimplUtils.o stage2/simplCore/Simplify.o
stage2/simplStg/SRT.o stage2/simplStg/SimplStg.o stage2/simplStg/StgStats.o
stage2/specialise/Rules.o stage2/specialise/SpecConstr.o
stage2/specialise/Specialise.o stage2/stgSyn/CoreToStg.o
stage2/stgSyn/StgLint.o stage2/stgSyn/StgSyn.o stage2/stranal/DmdAnal.o
stage2/stranal/SaAbsInt.o stage2/stranal/SaLib.o
stage2/stranal/StrictAnal.o stage2/stranal/WorkWrap.o
stage2/stranal/WwLib.o stage2/typecheck/Inst.o stage2/typecheck/TcArrows.o
stage2/typecheck/TcBinds.o stage2/typecheck/TcClassDcl.o
stage2/typecheck/TcDefaults.o stage2/typecheck/TcDeriv.o
stage2/typecheck/TcEnv.o stage2/typecheck/TcExpr.o
stage2/typecheck/TcForeign.o stage2/typecheck/TcGenDeriv.o
stage2/typecheck/TcHsSyn.o stage2/typecheck/TcHsType.o
stage2/typecheck/TcInstDcls.o stage2/typecheck/TcMType.o
stage2/typecheck/TcMatches.o stage2/typecheck/TcPat.o
stage2/typecheck/TcRnDriver.o stage2/typecheck/TcRnMonad.o
stage2/typecheck/TcRnTypes.o stage2/typecheck/TcRules.o
stage2/typecheck/TcSimplify.o stage2/typecheck/TcSplice.o
stage2/typecheck/TcTyClsDecls.o stage2/typecheck/TcTyDecls.o
stage2/typecheck/TcType.o stage2/typecheck/TcUnify.o stage2/types/Class.o
stage2/types/FunDeps.o stage2/types/Generics.o stage2/types/InstEnv.o
stage2/types/Kind.o stage2/types/TyCon.o stage2/types/Type.o
stage2/types/TypeRep.o stage2/types/Unify.o stage2/utils/Bag.o
stage2/utils/Binary.o stage2/utils/BitSet.o stage2/utils/Digraph.o
stage2/utils/FastMutInt.o stage2/utils/FastString.o
stage2/utils/FastTypes.o stage2/utils/FiniteMap.o stage2/utils/IOEnv.o
stage2/utils/ListSetOps.o stage2/utils/Maybes.o stage2/utils/OrdList.o
stage2/utils/Outputable.o stage2/utils/Panic.o stage2/utils/Pretty.o
stage2/utils/PrimPacked.o stage2/utils/StringBuffer.o
stage2/utils/UnicodeUtil.o stage2/utils/UniqFM.o stage2/utils/UniqSet.o
stage2/utils/Util.o stage2/parser/hschooks.o
/home/tn/tn/Haskell/ghc/unpack/ghc-6.4.1/ghc/rts/libHSrts.a(Linker.o):
(.data+0x41c): undefined reference to `quotInteger2Expzh_fast'
collect2: ld returned 1 exit status
<<ghc: 14519528 bytes, 3 GCs, 172816/172816 avg/max bytes residency (1
samples), 15M in use, 0.01 INIT (0.00 elapsed), 0.01 MUT (36.43 elapsed),
0.02 GC (0.02 elapsed) :ghc>>
make[2]: *** [stage2/ghc-6.4.1] Error 1
make[2]: Leaving directory
`/home/tn/tn/Haskell/ghc/unpack/ghc-6.4.1/ghc/compiler'
make[1]: *** [stage2] Error 2
make[1]: Leaving directory `/home/tn/tn/Haskell/ghc/unpack/ghc-6.4.1'
make: *** [bootstrap2] Error 2
And that message persisted, even when I tried "make clean" and "make all" in
the top-level directory.
I have tried a few things, groping in the darkness I would call it, trying to
get around this. And I was actually able produce a compiler by temporarily
removing the quotInteger2Expzh_fast reference in ghc/rts/Linker.c. But the
produced compiler (including GHCi) complained about missing the symbol
quotInteger2Expzh_fast.
The file libraries/base/GHC/Base.lhs contains the tantalizing remarks
GHC.Prim Has no implementation. It defines built-in things,
and
by importing it you bring them into scope.
The source file is GHC.Prim.hi-boot, which is just
copied to make GHC.Prim.hi
but I have not been able to find anything that relates to this.
So I am again at a loss, aksing for help to proceed.
Thanks a lot in advance.
Best regards
Thorkil Naur
More information about the Glasgow-haskell-users
mailing list