[GHC] #1958: collect2: ld terminated with signal 10 [Bus error]: Building parsec on a PPC Mac OS X 10.5 Leopard as part of GHC 6.9

GHC trac at galois.com
Mon Jan 21 02:17:42 EST 2008


#1958: collect2: ld terminated with signal 10 [Bus error]: Building parsec on a
PPC Mac OS X 10.5 Leopard as part of GHC 6.9
-------------------------+--------------------------------------------------
 Reporter:  thorkilnaur  |          Owner:  thorkilnaur
     Type:  bug          |         Status:  new        
 Priority:  high         |      Milestone:  6.8.3      
Component:  Compiler     |        Version:  6.9        
 Severity:  normal       |     Resolution:             
 Keywords:               |     Difficulty:  Unknown    
 Testcase:               |   Architecture:  powerpc    
       Os:  MacOS X      |  
-------------------------+--------------------------------------------------
Comment (by thorkilnaur):

 Trying a few combinations of compiler options shows: With
 {{{
 SRC_HC_OPTS   = -H32m -O2
 GhcHcOpts     = -Rghc-timing
 GhcLibHcOpts  =
 GhcLibWays    =
 }}}
 in mk/build.mk, the build ends with:
 {{{
 ../../compiler/stage1/ghc-inplace -package-name unix-2.2 -hide-all-
 packages -split-objs -i -idist/build/autogen -idist/build -i. -Idist/build
 -Iinclude -#include "HsUnix.h" -#include "execvpe.h" -odir dist/build
 -hidir dist/build -stubdir dist/build -package base-3.0 -package
 directory-1.0 -O -XCPP -XForeignFunctionInterface -idist/build  -H32m -O2
 -c dist/build/System/Posix/Semaphore.hs -o
 dist/build/System/Posix/Semaphore.o  -ohi
 dist/build/System/Posix/Semaphore.hi
 collect2: ld terminated with signal 10 [Bus error]
 make[2]: *** [dist/build/System/Posix/Semaphore.o] Error 1
 make[1]: *** [make.library.unix] Error 2
 make: *** [stage1] Error 2
 }}}
 (The extra-packages are included in this build.) If I then change
 mk/build.mk to
 {{{
 SRC_HC_OPTS   = -H32m -O2
 GhcHcOpts     = -Rghc-timing
 GhcLibHcOpts  =
 GhcLibWays    =
 SplitObjs     = NO
 }}}
 the build ends with:
 {{{
 /usr/bin/ld -r -x -o HSghc.o  stage2/basicTypes/BasicTypes.o
 stage2/basicTypes/DataCon.o stage2/basicTypes/Demand.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/CmmBrokenBlock.o stage2/cmm/CmmCPS.o stage2/cmm/CmmCPSGen.o
 stage2/cmm/CmmCPSZ.o stage2/cmm/CmmCallConv.o stage2/cmm/CmmContFlowOpt.o
 stage2/cmm/CmmCvt.o stage2/cmm/CmmExpr.o stage2/cmm/CmmInfo.o
 stage2/cmm/CmmLex.o stage2/cmm/CmmLint.o stage2/cmm/CmmLive.o
 stage2/cmm/CmmLiveZ.o stage2/cmm/CmmOpt.o stage2/cmm/CmmParse.o
 stage2/cmm/CmmProcPoint.o stage2/cmm/CmmProcPointZ.o
 stage2/cmm/CmmSpillReload.o stage2/cmm/CmmTx.o stage2/cmm/CmmUtils.o
 stage2/cmm/CmmZipUtil.o stage2/cmm/DFMonad.o stage2/cmm/Dataflow.o
 stage2/cmm/MachOp.o stage2/cmm/MkZipCfg.o stage2/cmm/MkZipCfgCmm.o
 stage2/cmm/OptimizationFuel.o stage2/cmm/PprC.o stage2/cmm/PprCmm.o
 stage2/cmm/PprCmmZ.o stage2/cmm/StackColor.o stage2/cmm/StackPlacements.o
 stage2/cmm/ZipCfg.o stage2/cmm/ZipCfgCmmRep.o stage2/cmm/ZipCfgExtras.o
 stage2/cmm/ZipDataflow0.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/CgHpc.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/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/Coverage.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/Debugger.o stage2/ghci/GhciMonad.o stage2/ghci/GhciTags.o
 stage2/ghci/InteractiveUI.o stage2/ghci/Linker.o stage2/ghci/ObjLink.o
 stage2/ghci/RtClosureInspect.o stage2/hsSyn/Convert.o
 stage2/hsSyn/HsBinds.o stage2/hsSyn/HsDecls.o stage2/hsSyn/HsDoc.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/BreakArray.o stage2/main/CmdLineParser.o
 stage2/main/CodeOutput.o stage2/main/Config.o stage2/main/Constants.o
 stage2/main/DriverMkDepend.o stage2/main/DriverPhases.o
 stage2/main/DriverPipeline.o stage2/main/DynFlags.o stage2/main/ErrUtils.o
 stage2/main/Finder.o stage2/main/GHC.o stage2/main/HeaderInfo.o
 stage2/main/HscMain.o stage2/main/HscStats.o stage2/main/HscTypes.o
 stage2/main/InteractiveEval.o stage2/main/PackageConfig.o
 stage2/main/Packages.o stage2/main/ParsePkgConf.o stage2/main/PprTyThing.o
 stage2/main/StaticFlags.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/RegAllocColor.o
 stage2/nativeGen/RegAllocInfo.o stage2/nativeGen/RegAllocLinear.o
 stage2/nativeGen/RegAllocStats.o stage2/nativeGen/RegArchBase.o
 stage2/nativeGen/RegArchX86.o stage2/nativeGen/RegCoalesce.o
 stage2/nativeGen/RegLiveness.o stage2/nativeGen/RegSpill.o
 stage2/nativeGen/RegSpillClean.o stage2/nativeGen/RegSpillCost.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/HaddockLex.o stage2/parser/HaddockParse.o
 stage2/parser/HaddockUtils.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/RnHsDoc.o stage2/rename/RnHsSyn.o
 stage2/rename/RnNames.o stage2/rename/RnPat.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/FamInst.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/TcGadt.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/TcTyFuns.o stage2/typecheck/TcType.o
 stage2/typecheck/TcUnify.o stage2/types/Class.o stage2/types/Coercion.o
 stage2/types/FamInstEnv.o stage2/types/FunDeps.o stage2/types/Generics.o
 stage2/types/InstEnv.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/BufWrite.o stage2/utils/Digraph.o
 stage2/utils/Encoding.o stage2/utils/FastBool.o
 stage2/utils/FastFunctions.o stage2/utils/FastMutInt.o
 stage2/utils/FastString.o stage2/utils/FastTypes.o
 stage2/utils/FiniteMap.o stage2/utils/GraphBase.o
 stage2/utils/GraphColor.o stage2/utils/GraphOps.o stage2/utils/GraphPpr.o
 stage2/utils/IOEnv.o stage2/utils/Interval.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/State.o
 stage2/utils/StringBuffer.o stage2/utils/UniqFM.o stage2/utils/UniqSet.o
 stage2/utils/Util.o stage2/vectorise/VectBuiltIn.o
 stage2/vectorise/VectCore.o stage2/vectorise/VectMonad.o
 stage2/vectorise/VectType.o stage2/vectorise/VectUtils.o
 stage2/vectorise/Vectorise.o stage2/parser/cutils.o
 make[2]: *** [HSghc.o] Bus error
 make[2]: *** Deleting file `HSghc.o'
 make[1]: *** [stage2] Error 2
 make: *** [bootstrap2] Error 2
 }}}
 Further, with
 {{{
 SRC_HC_OPTS   = -H32m -O2 -fvia-C
 GhcHcOpts     = -Rghc-timing
 GhcLibHcOpts  =
 GhcLibWays    =
 }}}
 in mk/build.mk, the result is
 {{{
 ../../compiler/stage1/ghc-inplace -package-name base-3.0 -hide-all-
 packages -split-objs -i -idist/build/autogen -idist/build -i. -Idist/build
 -Iinclude -#include "HsBase.h" -odir dist/build -hidir dist/build -stubdir
 dist/build -package rts-1.0 -O -fglasgow-exts -package-name base -XCPP
 -idist/build  -H32m -O2 -fvia-C  -c Foreign/C/Error.hs -o
 dist/build/Foreign/C/Error.o  -ohi dist/build/Foreign/C/Error.hi
 /tmp/ghc13816_0/ghc13816_0.split__1.s:unknown:Undefined local symbol
 L_strerror$UNIX2003$stub
 make[2]: *** [dist/build/Foreign/C/Error.o] Error 1
 make[1]: *** [make.library.base] Error 2
 make: *** [stage1] Error 2
 }}}
 This could well be the same problem reported in
 http://hackage.haskell.org/trac/ghc/ticket/2012.  And, finally
 {{{
 SRC_HC_OPTS   = -H32m -O2 -fvia-C
 GhcHcOpts     = -Rghc-timing
 GhcLibHcOpts  =
 GhcLibWays    =
 SplitObjs     = NO
 }}}
 ends with
 {{{
 /usr/bin/ld -r -x -o HSghc.o  stage2/basicTypes/BasicTypes.o
 stage2/basicTypes/DataCon.o stage2/basicTypes/Demand.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/CmmBrokenBlock.o stage2/cmm/CmmCPS.o stage2/cmm/CmmCPSGen.o
 stage2/cmm/CmmCPSZ.o stage2/cmm/CmmCallConv.o stage2/cmm/CmmContFlowOpt.o
 stage2/cmm/CmmCvt.o stage2/cmm/CmmExpr.o stage2/cmm/CmmInfo.o
 stage2/cmm/CmmLex.o stage2/cmm/CmmLint.o stage2/cmm/CmmLive.o
 stage2/cmm/CmmLiveZ.o stage2/cmm/CmmOpt.o stage2/cmm/CmmParse.o
 stage2/cmm/CmmProcPoint.o stage2/cmm/CmmProcPointZ.o
 stage2/cmm/CmmSpillReload.o stage2/cmm/CmmTx.o stage2/cmm/CmmUtils.o
 stage2/cmm/CmmZipUtil.o stage2/cmm/DFMonad.o stage2/cmm/Dataflow.o
 stage2/cmm/MachOp.o stage2/cmm/MkZipCfg.o stage2/cmm/MkZipCfgCmm.o
 stage2/cmm/OptimizationFuel.o stage2/cmm/PprC.o stage2/cmm/PprCmm.o
 stage2/cmm/PprCmmZ.o stage2/cmm/StackColor.o stage2/cmm/StackPlacements.o
 stage2/cmm/ZipCfg.o stage2/cmm/ZipCfgCmmRep.o stage2/cmm/ZipCfgExtras.o
 stage2/cmm/ZipDataflow0.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/CgHpc.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/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/Coverage.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/Debugger.o stage2/ghci/GhciMonad.o stage2/ghci/GhciTags.o
 stage2/ghci/InteractiveUI.o stage2/ghci/Linker.o stage2/ghci/ObjLink.o
 stage2/ghci/RtClosureInspect.o stage2/hsSyn/Convert.o
 stage2/hsSyn/HsBinds.o stage2/hsSyn/HsDecls.o stage2/hsSyn/HsDoc.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/BreakArray.o stage2/main/CmdLineParser.o
 stage2/main/CodeOutput.o stage2/main/Config.o stage2/main/Constants.o
 stage2/main/DriverMkDepend.o stage2/main/DriverPhases.o
 stage2/main/DriverPipeline.o stage2/main/DynFlags.o stage2/main/ErrUtils.o
 stage2/main/Finder.o stage2/main/GHC.o stage2/main/HeaderInfo.o
 stage2/main/HscMain.o stage2/main/HscStats.o stage2/main/HscTypes.o
 stage2/main/InteractiveEval.o stage2/main/PackageConfig.o
 stage2/main/Packages.o stage2/main/ParsePkgConf.o stage2/main/PprTyThing.o
 stage2/main/StaticFlags.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/RegAllocColor.o
 stage2/nativeGen/RegAllocInfo.o stage2/nativeGen/RegAllocLinear.o
 stage2/nativeGen/RegAllocStats.o stage2/nativeGen/RegArchBase.o
 stage2/nativeGen/RegArchX86.o stage2/nativeGen/RegCoalesce.o
 stage2/nativeGen/RegLiveness.o stage2/nativeGen/RegSpill.o
 stage2/nativeGen/RegSpillClean.o stage2/nativeGen/RegSpillCost.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/HaddockLex.o stage2/parser/HaddockParse.o
 stage2/parser/HaddockUtils.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/RnHsDoc.o stage2/rename/RnHsSyn.o
 stage2/rename/RnNames.o stage2/rename/RnPat.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/FamInst.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/TcGadt.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/TcTyFuns.o stage2/typecheck/TcType.o
 stage2/typecheck/TcUnify.o stage2/types/Class.o stage2/types/Coercion.o
 stage2/types/FamInstEnv.o stage2/types/FunDeps.o stage2/types/Generics.o
 stage2/types/InstEnv.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/BufWrite.o stage2/utils/Digraph.o
 stage2/utils/Encoding.o stage2/utils/FastBool.o
 stage2/utils/FastFunctions.o stage2/utils/FastMutInt.o
 stage2/utils/FastString.o stage2/utils/FastTypes.o
 stage2/utils/FiniteMap.o stage2/utils/GraphBase.o
 stage2/utils/GraphColor.o stage2/utils/GraphOps.o stage2/utils/GraphPpr.o
 stage2/utils/IOEnv.o stage2/utils/Interval.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/State.o
 stage2/utils/StringBuffer.o stage2/utils/UniqFM.o stage2/utils/UniqSet.o
 stage2/utils/Util.o stage2/vectorise/VectBuiltIn.o
 stage2/vectorise/VectCore.o stage2/vectorise/VectMonad.o
 stage2/vectorise/VectType.o stage2/vectorise/VectUtils.o
 stage2/vectorise/Vectorise.o stage2/parser/cutils.o
 ld: scattered reloc r_address too large for inferred architecture ppc
 make[2]: *** [HSghc.o] Error 1
 make[1]: *** [stage2] Error 2
 make: *** [bootstrap2] Error 2
 }}}
 This has been reported earlier in
 http://hackage.haskell.org/trac/ghc/ticket/1843. I will assume that this
 is simply a different symptom of the same basic problem with the Apple
 linker, but if anyone sees this differently, feel free to report a
 separate bug.

 All in all, fairly entertaining.

 Some additional lines of work include:
  1. Actually debugging the Apple linker:
  http://www.haskell.org/pipermail/glasgow-haskell-
 users/2007-November/013489.html and
  http://www.haskell.org/pipermail/glasgow-haskell-
 users/2007-November/013447.html have some
  details about this. I have started an attempt to continue this, but I am
 not done yet. In
  any case, although I have requested a status on the issue reported to
 Apple, I have not
  heard anything, so it seems unlikely that we are going to see some sort
 of solution
  from that source anytime soon.
  2. Figuring out how to, possibly, generate different code that works
 around the linker
  problem. I don't feel particularly competent in this respect, a lot of
 study would be
  required for me to work on this effectively. So if some expert in these
 matters
  would be willing to give a few hints, whether such a line of work is
 likely to
  succeed, I would be very grateful.
  3. In particular, some better understanding of the difference between
 using
  {{{.const_data}}} and {{{.text}}} would be useful. And thereby some
 indication of
  whether the work-around patch the I attached makes sense at all.

 As always, additional ideas for investigating this problem are most
 welcome.

 Best regards
 Thorkil

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1958#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list