GHC issueshttps://gitlab.haskell.org/ghc/ghc/-/issues2019-07-07T18:42:39Zhttps://gitlab.haskell.org/ghc/ghc/-/issues/8951genSym uses atomic_inc but doesn't link arm_atomic_spin_lock2019-07-07T18:42:39ZcjwatsongenSym uses atomic_inc but doesn't link arm_atomic_spin_lockOn Debian armel, a snapshot of GHC 7.8 from 20140228 fails to build as follows:
> https://buildd.debian.org/status/fetch.php?pkg=ghc&arch=armel&ver=7.8.20140228-1&stamp=1394495564
```
"inplace/bin/ghc-stage2" -o utils/haddock/dist/buil...On Debian armel, a snapshot of GHC 7.8 from 20140228 fails to build as follows:
> https://buildd.debian.org/status/fetch.php?pkg=ghc&arch=armel&ver=7.8.20140228-1&stamp=1394495564
```
"inplace/bin/ghc-stage2" -o utils/haddock/dist/build/tmp/haddock -hisuf hi -osuf o -hcsuf hc -static -H32m -O -lffi -optl-pthread -optc-mlong-calls -hide-all-packages -i -iutils/haddock/driver -iutils/haddock/src -iutils/haddock/vendor/attoparsec-0.10.4.0 -iutils/haddock/dist/build -iutils/haddock/dist/build/autogen -Iutils/haddock/dist/build -Iutils/haddock/dist/build/autogen -optP-DIN_GHC_TREE -optP-include -optPutils/haddock/dist/build/autogen/cabal_macros.h -package Cabal-1.18.1.3 -package array-0.5.0.0 -package base-4.7.0.0 -package bytestring-0.10.4.0 -package containers-0.5.4.0 -package deepseq-1.3.0.2 -package directory-1.2.0.2 -package filepath-1.3.0.2 -package ghc-7.8.0.20140228 -package xhtml-3000.2.1 -funbox-strict-fields -Wall -fwarn-tabs -O2 -XHaskell2010 -no-user-package-db -rtsopts -odir utils/haddock/dist/build -hidir utils/haddock/dist/build -stubdir utils/haddock/dist/build utils/haddock/dist/build/Main.o utils/haddock/dist/build/Documentation/Haddock.o utils/haddock/dist/build/Data/Attoparsec.o utils/haddock/dist/build/Data/Attoparsec/ByteString.o utils/haddock/dist/build/Data/Attoparsec/ByteString/Char8.o utils/haddock/dist/build/Data/Attoparsec/Combinator.o utils/haddock/dist/build/Data/Attoparsec/Number.o utils/haddock/dist/build/Data/Attoparsec/ByteString/FastSet.o utils/haddock/dist/build/Data/Attoparsec/ByteString/Internal.o utils/haddock/dist/build/Data/Attoparsec/Internal.o utils/haddock/dist/build/Data/Attoparsec/Internal/Types.o utils/haddock/dist/build/Haddock.o utils/haddock/dist/build/Haddock/Interface.o utils/haddock/dist/build/Haddock/Interface/Rename.o utils/haddock/dist/build/Haddock/Interface/Create.o utils/haddock/dist/build/Haddock/Interface/AttachInstances.o utils/haddock/dist/build/Haddock/Interface/LexParseRn.o utils/haddock/dist/build/Haddock/Interface/ParseModuleHeader.o utils/haddock/dist/build/Haddock/Parser.o utils/haddock/dist/build/Haddock/Parser/Util.o utils/haddock/dist/build/Haddock/Utf8.o utils/haddock/dist/build/Haddock/Utils.o utils/haddock/dist/build/Haddock/Backends/Xhtml.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Decl.o utils/haddock/dist/build/Haddock/Backends/Xhtml/DocMarkup.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Layout.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Names.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Themes.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Types.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Utils.o utils/haddock/dist/build/Haddock/Backends/LaTeX.o utils/haddock/dist/build/Haddock/Backends/HaddockDB.o utils/haddock/dist/build/Haddock/Backends/Hoogle.o utils/haddock/dist/build/Haddock/ModuleTree.o utils/haddock/dist/build/Haddock/Types.o utils/haddock/dist/build/Haddock/Doc.o utils/haddock/dist/build/Haddock/Version.o utils/haddock/dist/build/Haddock/InterfaceFile.o utils/haddock/dist/build/Haddock/Options.o utils/haddock/dist/build/Haddock/GhcUtils.o utils/haddock/dist/build/Haddock/Convert.o utils/haddock/dist/build/Paths_haddock.o
/«PKGBUILDDIR»/compiler/stage2/build/libHSghc-7.8.0.20140228.a(genSym.o): In function `genSym':
genSym.c:(.text+0x84): undefined reference to `arm_atomic_spin_lock'
genSym.c:(.text+0x88): undefined reference to `arm_atomic_spin_unlock'
collect2: error: ld returned 1 exit status
make[2]: *** [utils/haddock/dist/build/tmp/haddock] Error 1
```
Our armel architecture satisfies "arm_HOST_ARCH && defined(arm_HOST_ARCH_PRE_ARMv6)", so cas() in includes/stg/SMP.h will (uniquely among architectures) not be entirely inline: it calls arm_atomic_spin_lock and arm_atomic_spin_unlock, which are in libHSrts. 7.8 introduces compiler/cbits/genSym.c which uses atomic_inc. How should the linkage requirements be satisfied here?
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.8.1-rc1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Build System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"genSym uses atomic_inc but doesn't link arm_atomic_spin_lock","status":"New","operating_system":"","component":"Build System","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.8.1-rc1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"On Debian armel, a snapshot of GHC 7.8 from 20140228 fails to build as follows:\r\n\r\n https://buildd.debian.org/status/fetch.php?pkg=ghc&arch=armel&ver=7.8.20140228-1&stamp=1394495564\r\n\r\n{{{\r\n\"inplace/bin/ghc-stage2\" -o utils/haddock/dist/build/tmp/haddock -hisuf hi -osuf o -hcsuf hc -static -H32m -O -lffi -optl-pthread -optc-mlong-calls -hide-all-packages -i -iutils/haddock/driver -iutils/haddock/src -iutils/haddock/vendor/attoparsec-0.10.4.0 -iutils/haddock/dist/build -iutils/haddock/dist/build/autogen -Iutils/haddock/dist/build -Iutils/haddock/dist/build/autogen -optP-DIN_GHC_TREE -optP-include -optPutils/haddock/dist/build/autogen/cabal_macros.h -package Cabal-1.18.1.3 -package array-0.5.0.0 -package base-4.7.0.0 -package bytestring-0.10.4.0 -package containers-0.5.4.0 -package deepseq-1.3.0.2 -package directory-1.2.0.2 -package filepath-1.3.0.2 -package ghc-7.8.0.20140228 -package xhtml-3000.2.1 -funbox-strict-fields -Wall -fwarn-tabs -O2 -XHaskell2010 -no-user-package-db -rtsopts -odir utils/haddock/dist/build -hidir utils/haddock/dist/build -stubdir utils/haddock/dist/build utils/haddock/dist/build/Main.o utils/haddock/dist/build/Documentation/Haddock.o utils/haddock/dist/build/Data/Attoparsec.o utils/haddock/dist/build/Data/Attoparsec/ByteString.o utils/haddock/dist/build/Data/Attoparsec/ByteString/Char8.o utils/haddock/dist/build/Data/Attoparsec/Combinator.o utils/haddock/dist/build/Data/Attoparsec/Number.o utils/haddock/dist/build/Data/Attoparsec/ByteString/FastSet.o utils/haddock/dist/build/Data/Attoparsec/ByteString/Internal.o utils/haddock/dist/build/Data/Attoparsec/Internal.o utils/haddock/dist/build/Data/Attoparsec/Internal/Types.o utils/haddock/dist/build/Haddock.o utils/haddock/dist/build/Haddock/Interface.o utils/haddock/dist/build/Haddock/Interface/Rename.o utils/haddock/dist/build/Haddock/Interface/Create.o utils/haddock/dist/build/Haddock/Interface/AttachInstances.o utils/haddock/dist/build/Haddock/Interface/LexParseRn.o utils/haddock/dist/build/Haddock/Interface/ParseModuleHeader.o utils/haddock/dist/build/Haddock/Parser.o utils/haddock/dist/build/Haddock/Parser/Util.o utils/haddock/dist/build/Haddock/Utf8.o utils/haddock/dist/build/Haddock/Utils.o utils/haddock/dist/build/Haddock/Backends/Xhtml.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Decl.o utils/haddock/dist/build/Haddock/Backends/Xhtml/DocMarkup.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Layout.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Names.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Themes.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Types.o utils/haddock/dist/build/Haddock/Backends/Xhtml/Utils.o utils/haddock/dist/build/Haddock/Backends/LaTeX.o utils/haddock/dist/build/Haddock/Backends/HaddockDB.o utils/haddock/dist/build/Haddock/Backends/Hoogle.o utils/haddock/dist/build/Haddock/ModuleTree.o utils/haddock/dist/build/Haddock/Types.o utils/haddock/dist/build/Haddock/Doc.o utils/haddock/dist/build/Haddock/Version.o utils/haddock/dist/build/Haddock/InterfaceFile.o utils/haddock/dist/build/Haddock/Options.o utils/haddock/dist/build/Haddock/GhcUtils.o utils/haddock/dist/build/Haddock/Convert.o utils/haddock/dist/build/Paths_haddock.o \r\n/«PKGBUILDDIR»/compiler/stage2/build/libHSghc-7.8.0.20140228.a(genSym.o): In function `genSym':\r\ngenSym.c:(.text+0x84): undefined reference to `arm_atomic_spin_lock'\r\ngenSym.c:(.text+0x88): undefined reference to `arm_atomic_spin_unlock'\r\ncollect2: error: ld returned 1 exit status\r\nmake[2]: *** [utils/haddock/dist/build/tmp/haddock] Error 1\r\n}}}\r\n\r\nOur armel architecture satisfies \"arm_HOST_ARCH && defined(arm_HOST_ARCH_PRE_ARMv6)\", so cas() in includes/stg/SMP.h will (uniquely among architectures) not be entirely inline: it calls arm_atomic_spin_lock and arm_atomic_spin_unlock, which are in libHSrts. 7.8 introduces compiler/cbits/genSym.c which uses atomic_inc. How should the linkage requirements be satisfied here?","type_of_failure":"OtherFailure","blocking":[]} -->7.8.4https://gitlab.haskell.org/ghc/ghc/-/issues/8988Documentation build fails if GHCi is unavailable2019-07-07T18:42:25ZcjwatsonDocumentation build fails if GHCi is unavailableJoachim Breitner [reported](http://www.haskell.org/pipermail/glasgow-haskell-users/2014-March/024730.html) that the documentation fails to build on Debian armhf:
```
0% ( 0 / 5) in 'WwLib'
0% ( 0 / 2) in 'DmdAnal'
0% ( 0 /...Joachim Breitner [reported](http://www.haskell.org/pipermail/glasgow-haskell-users/2014-March/024730.html) that the documentation fails to build on Debian armhf:
```
0% ( 0 / 5) in 'WwLib'
0% ( 0 / 2) in 'DmdAnal'
0% ( 0 / 2) in 'WorkWrap'
compiler/typecheck/TcSplice.lhs-boot:29:1:
TcSplice.tcTopSpliceExpr is exported by the hs-boot file, but not exported by the module
compiler/typecheck/TcSplice.lhs-boot:37:1:
TcSplice.runMetaE is exported by the hs-boot file, but not exported by the module
compiler/typecheck/TcSplice.lhs-boot:38:1:
TcSplice.runMetaP is exported by the hs-boot file, but not exported by the module
compiler/typecheck/TcSplice.lhs-boot:39:1:
TcSplice.runMetaT is exported by the hs-boot file, but not exported by the module
compiler/typecheck/TcSplice.lhs-boot:40:1:
TcSplice.runMetaD is exported by the hs-boot file, but not exported by the module
67% ( 2 / 3) in 'CmmPipeline'
0% ( 0 / 3) in 'StgCmmHpc'
0% ( 0 / 13) in 'PrelInfo'
0% ( 0 / 4) in 'StgCmmCon'
0% ( 0 / 2) in 'StgCmmExpr'
0% ( 0 / 6) in 'StgCmmBind'
0% ( 0 / 2) in 'CmmParse'
0% ( 0 / 2) in 'StgCmm'
5% ( 9 /175) in 'TcRnMonad'
make[2]: *** [compiler/stage2/doc/html/ghc/ghc.haddock] Error 1
```
The attached patch fixes this.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ----------------------- |
| Version | 7.8.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler (Type checker) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Documentation build fails if GHCi is unavailable","status":"New","operating_system":"","component":"Compiler (Type checker)","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.8.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Joachim Breitner [http://www.haskell.org/pipermail/glasgow-haskell-users/2014-March/024730.html reported] that the documentation fails to build on Debian armhf:\r\n\r\n{{{\r\n 0% ( 0 / 5) in 'WwLib'\r\n 0% ( 0 / 2) in 'DmdAnal'\r\n 0% ( 0 / 2) in 'WorkWrap'\r\n\r\ncompiler/typecheck/TcSplice.lhs-boot:29:1:\r\n TcSplice.tcTopSpliceExpr is exported by the hs-boot file, but not exported by the module\r\n\r\ncompiler/typecheck/TcSplice.lhs-boot:37:1:\r\n TcSplice.runMetaE is exported by the hs-boot file, but not exported by the module\r\n\r\ncompiler/typecheck/TcSplice.lhs-boot:38:1:\r\n TcSplice.runMetaP is exported by the hs-boot file, but not exported by the module\r\n\r\ncompiler/typecheck/TcSplice.lhs-boot:39:1:\r\n TcSplice.runMetaT is exported by the hs-boot file, but not exported by the module\r\n\r\ncompiler/typecheck/TcSplice.lhs-boot:40:1:\r\n TcSplice.runMetaD is exported by the hs-boot file, but not exported by the module\r\n 67% ( 2 / 3) in 'CmmPipeline'\r\n 0% ( 0 / 3) in 'StgCmmHpc'\r\n 0% ( 0 / 13) in 'PrelInfo'\r\n 0% ( 0 / 4) in 'StgCmmCon'\r\n 0% ( 0 / 2) in 'StgCmmExpr'\r\n 0% ( 0 / 6) in 'StgCmmBind'\r\n 0% ( 0 / 2) in 'CmmParse'\r\n 0% ( 0 / 2) in 'StgCmm'\r\n 5% ( 9 /175) in 'TcRnMonad'\r\nmake[2]: *** [compiler/stage2/doc/html/ghc/ghc.haddock] Error 1\r\n}}}\r\n\r\nThe attached patch fixes this.","type_of_failure":"OtherFailure","blocking":[]} -->7.8.4https://gitlab.haskell.org/ghc/ghc/-/issues/9552powerpc64 little endian: dll-split: Reachable modules from DynFlags out of date2019-07-07T18:40:03ZPeter Trommlerptrommler@acm.orgpowerpc64 little endian: dll-split: Reachable modules from DynFlags out of dateBuilding ghc for powerpc64 little endian (powerpc64le) on Linux fails:
```
inplace/bin/dll-split compiler/stage2/build/.depend-v-dyn.haskell "DynFlags" "Annotations Avail Bag BasicTypes BinIface Binary Bitmap BlockId BooleanFormula Brea...Building ghc for powerpc64 little endian (powerpc64le) on Linux fails:
```
inplace/bin/dll-split compiler/stage2/build/.depend-v-dyn.haskell "DynFlags" "Annotations Avail Bag BasicTypes BinIface Binary Bitmap BlockId BooleanFormula BreakArray BufWrite BuildTyCl ByteCodeAsm ByteCodeInstr ByteCodeItbls CLabel Class CmdLineParser Cmm CmmCallConv CmmExpr CmmInfo CmmMachOp CmmNode CmmType CmmUtils CoAxiom ConLike CodeGen.Platform CodeGen.Platform.ARM CodeGen.Platform.NoRegs CodeGen.Platform.PPC CodeGen.Platform.PPC_Darwin CodeGen.Platform.SPARC CodeGen.Platform.X86 CodeGen.Platform.X86_64 Coercion Config Constants CoreArity CoreFVs CoreLint CoreSubst CoreSyn CoreTidy CoreUnfold CoreUtils CostCentre DataCon Demand Digraph DriverPhases DsMonad DynFlags Encoding ErrUtils Exception ExtsCompat46 FamInstEnv FastBool FastFunctions FastMutInt FastString FastTypes Finder Fingerprint FiniteMap ForeignCall Hooks Hoopl Hoopl.Dataflow HsBinds HsDecls HsDoc HsExpr HsImpExp HsLit HsPat HsSyn HsTypes HsUtils HscTypes IOEnv Id IdInfo IfaceEnv IfaceSyn IfaceType InstEnv InteractiveEvalTypes Kind ListSetOps Literal LoadIface Maybes MkCore MkGraph MkId Module MonadUtils Name NameEnv NameSet OccName OccurAnal OptCoercion OrdList Outputable PackageConfig Packages Pair Panic PatSyn PipelineMonad Platform PlatformConstants PprCmm PprCmmDecl PprCmmExpr PprCore PrelInfo PrelNames PrelRules Pretty PrimOp RdrName Reg RegClass Rules SMRep Serialized SrcLoc StaticFlags StgCmmArgRep StgCmmClosure StgCmmEnv StgCmmLayout StgCmmMonad StgCmmProf StgCmmTicky StgCmmUtils StgSyn Stream StringBuffer TcEvidence TcIface TcRnMonad TcRnTypes TcType TcTypeNats TrieMap TyCon Type TypeRep TysPrim TysWiredIn Unify UniqFM UniqSet UniqSupply Unique Util Var VarEnv VarSet"
Reachable modules from DynFlags out of date
Please fix compiler/ghc.mk, or building DLLs on Windows may break (#7780)
Redundant modules: Bitmap BlockId ByteCodeAsm ByteCodeInstr ByteCodeItbls CLabel Cmm CmmCallConv CmmExpr CmmInfo CmmMachOp CmmNode CmmUtils CodeGen.Platform CodeGen.Platform.ARM CodeGen.Platform.NoRegs CodeGen.Platform.PPC CodeGen.Platform.PPC_Darwin CodeGen.Platform.SPARC CodeGen.Platform.X86 CodeGen.Platform.X86_64 FastBool Hoopl Hoopl.Dataflow InteractiveEvalTypes MkGraph PprCmm PprCmmDecl PprCmmExpr Reg RegClass SMRep StgCmmArgRep StgCmmClosure StgCmmEnv StgCmmLayout StgCmmMonad StgCmmProf StgCmmTicky StgCmmUtils StgSyn Stream
compiler/ghc.mk:640: recipe for target 'compiler/stage2/dll-split.stamp' failed
```
The same build, however, works for big endian powerpc64 which is also an unregisterised build via C code.
Both builds were done with `GHC_DYNAMIC_PROGRAMS=YES` in `mk/build.mk`.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.8.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | Other |
</details>
<!-- {"blocked_by":[],"summary":"powerpc64 little endian: dll-split: Reachable modules from DynFlags out of date","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.8.3","keywords":[],"differentials":[],"test_case":"","architecture":"Other","cc":[""],"type":"Bug","description":"Building ghc for powerpc64 little endian (powerpc64le) on Linux fails:\r\n\r\n{{{\r\ninplace/bin/dll-split compiler/stage2/build/.depend-v-dyn.haskell \"DynFlags\" \"Annotations Avail Bag BasicTypes BinIface Binary Bitmap BlockId BooleanFormula BreakArray BufWrite BuildTyCl ByteCodeAsm ByteCodeInstr ByteCodeItbls CLabel Class CmdLineParser Cmm CmmCallConv CmmExpr CmmInfo CmmMachOp CmmNode CmmType CmmUtils CoAxiom ConLike CodeGen.Platform CodeGen.Platform.ARM CodeGen.Platform.NoRegs CodeGen.Platform.PPC CodeGen.Platform.PPC_Darwin CodeGen.Platform.SPARC CodeGen.Platform.X86 CodeGen.Platform.X86_64 Coercion Config Constants CoreArity CoreFVs CoreLint CoreSubst CoreSyn CoreTidy CoreUnfold CoreUtils CostCentre DataCon Demand Digraph DriverPhases DsMonad DynFlags Encoding ErrUtils Exception ExtsCompat46 FamInstEnv FastBool FastFunctions FastMutInt FastString FastTypes Finder Fingerprint FiniteMap ForeignCall Hooks Hoopl Hoopl.Dataflow HsBinds HsDecls HsDoc HsExpr HsImpExp HsLit HsPat HsSyn HsTypes HsUtils HscTypes IOEnv Id IdInfo IfaceEnv IfaceSyn IfaceType InstEnv InteractiveEvalTypes Kind ListSetOps Literal LoadIface Maybes MkCore MkGraph MkId Module MonadUtils Name NameEnv NameSet OccName OccurAnal OptCoercion OrdList Outputable PackageConfig Packages Pair Panic PatSyn PipelineMonad Platform PlatformConstants PprCmm PprCmmDecl PprCmmExpr PprCore PrelInfo PrelNames PrelRules Pretty PrimOp RdrName Reg RegClass Rules SMRep Serialized SrcLoc StaticFlags StgCmmArgRep StgCmmClosure StgCmmEnv StgCmmLayout StgCmmMonad StgCmmProf StgCmmTicky StgCmmUtils StgSyn Stream StringBuffer TcEvidence TcIface TcRnMonad TcRnTypes TcType TcTypeNats TrieMap TyCon Type TypeRep TysPrim TysWiredIn Unify UniqFM UniqSet UniqSupply Unique Util Var VarEnv VarSet\"\r\n\r\nReachable modules from DynFlags out of date\r\nPlease fix compiler/ghc.mk, or building DLLs on Windows may break (#7780)\r\nRedundant modules: Bitmap BlockId ByteCodeAsm ByteCodeInstr ByteCodeItbls CLabel Cmm CmmCallConv CmmExpr CmmInfo CmmMachOp CmmNode CmmUtils CodeGen.Platform CodeGen.Platform.ARM CodeGen.Platform.NoRegs CodeGen.Platform.PPC CodeGen.Platform.PPC_Darwin CodeGen.Platform.SPARC CodeGen.Platform.X86 CodeGen.Platform.X86_64 FastBool Hoopl Hoopl.Dataflow InteractiveEvalTypes MkGraph PprCmm PprCmmDecl PprCmmExpr Reg RegClass SMRep StgCmmArgRep StgCmmClosure StgCmmEnv StgCmmLayout StgCmmMonad StgCmmProf StgCmmTicky StgCmmUtils StgSyn Stream\r\ncompiler/ghc.mk:640: recipe for target 'compiler/stage2/dll-split.stamp' failed\r\n}}}\r\n\r\nThe same build, however, works for big endian powerpc64 which is also an unregisterised build via C code.\r\n\r\nBoth builds were done with `GHC_DYNAMIC_PROGRAMS=YES` in `mk/build.mk`.","type_of_failure":"OtherFailure","blocking":[]} -->7.8.4https://gitlab.haskell.org/ghc/ghc/-/issues/9620libffi.a is put in the wrong folder2019-07-07T18:39:47Zrezb1tlibffi.a is put in the wrong folderThis is dfeuer's error message, but it is equivalent to mine on NixOS x86_64
```
"/home/dfeuer/GHC/7.8.3.bin/bin/ghc" -o utils/genapply/dist/build/tmp/genapply -hisuf hi -osuf o -hcsuf hc -static -O -H64m -package pretty -package-db l...This is dfeuer's error message, but it is equivalent to mine on NixOS x86_64
```
"/home/dfeuer/GHC/7.8.3.bin/bin/ghc" -o utils/genapply/dist/build/tmp/genapply -hisuf hi -osuf o -hcsuf hc -static -O -H64m -package pretty -package-db libraries/bootstrapping.conf -i -iutils/genapply/. -iutils/genapply/dist/build -iutils/genapply/dist/build/autogen -Iutils/genapply/dist/build -Iutils/genapply/dist/build/autogen -no-user-package-db -rtsopts -odir utils/genapply/dist/build -hidir utils/genapply/dist/build -stubdir utils/genapply/dist/build -static -O -H64m -package pretty -package-db libraries/bootstrapping.conf -i -iutils/genapply/. -iutils/genapply/dist/build -iutils/genapply/dist/build/autogen -Iutils/genapply/dist/build -Iutils/genapply/dist/build/autogen -no-user-package-db -rtsopts utils/genapply/dist/build/GenApply.o
libffi/stamp.ffi.static-shared.install exists, but libffi/build/inst/lib/libffi.a does not.
Suggest removing libffi/stamp.ffi.static-shared.install.
make[1]: *** [libffi/build/inst/lib/libffi.a] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2
```
libffi.a is build and linked into libffi/build/inst/lib64 instead of libffi/build/inst/lib, but the includes and pkg-config specific stuff is still put into libffi/build/inst/lib. GHC looks in lib for libffi.a and fails, the current workaround is to copy the contents of libffi/build/inst/lib64 into libffi/build/inst/lib and type make again. Symlinking won't work because libffi seems to sanitize the build directory before building the library
I'd like to note that when compiling via the Debian source snapshot, libffi is put in the correct place if I run ./configure without using perl boot.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.9 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Build System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"libffi.a is put in the wrong folder","status":"New","operating_system":"","component":"Build System","related":[],"milestone":"7.10.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.9","keywords":["lib64","libffi","nixos"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"This is dfeuer's error message, but it is equivalent to mine on NixOS x86_64\r\n\r\n{{{\r\n\"/home/dfeuer/GHC/7.8.3.bin/bin/ghc\" -o utils/genapply/dist/build/tmp/genapply -hisuf hi -osuf o -hcsuf hc -static -O -H64m -package pretty -package-db libraries/bootstrapping.conf -i -iutils/genapply/. -iutils/genapply/dist/build -iutils/genapply/dist/build/autogen -Iutils/genapply/dist/build -Iutils/genapply/dist/build/autogen -no-user-package-db -rtsopts -odir utils/genapply/dist/build -hidir utils/genapply/dist/build -stubdir utils/genapply/dist/build -static -O -H64m -package pretty -package-db libraries/bootstrapping.conf -i -iutils/genapply/. -iutils/genapply/dist/build -iutils/genapply/dist/build/autogen -Iutils/genapply/dist/build -Iutils/genapply/dist/build/autogen -no-user-package-db -rtsopts utils/genapply/dist/build/GenApply.o \r\nlibffi/stamp.ffi.static-shared.install exists, but libffi/build/inst/lib/libffi.a does not.\r\nSuggest removing libffi/stamp.ffi.static-shared.install.\r\nmake[1]: *** [libffi/build/inst/lib/libffi.a] Error 1\r\nmake[1]: *** Waiting for unfinished jobs....\r\nmake: *** [all] Error 2\r\n}}}\r\n\r\nlibffi.a is build and linked into libffi/build/inst/lib64 instead of libffi/build/inst/lib, but the includes and pkg-config specific stuff is still put into libffi/build/inst/lib. GHC looks in lib for libffi.a and fails, the current workaround is to copy the contents of libffi/build/inst/lib64 into libffi/build/inst/lib and type make again. Symlinking won't work because libffi seems to sanitize the build directory before building the library\r\n\r\nI'd like to note that when compiling via the Debian source snapshot, libffi is put in the correct place if I run ./configure without using perl boot.","type_of_failure":"OtherFailure","blocking":[]} -->7.8.4