[GHC] #16051: Cross compilation broken under Hadrian

#16051: Cross compilation broken under Hadrian -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Build System | Version: 8.7 (Hadrian) | Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Hadrian falls over essentially immediately when cross-compiling: {{{ $ ./boot $ ./configure --target=aarch64-linux-gnu $ hadrian/build.cabal.sh -j32 }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16051 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16051: Cross compilation broken under Hadrian -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * cc: alpmestan, snowleopard (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16051#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16051: Cross compilation broken under Hadrian -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Description changed by bgamari: Old description:
Hadrian falls over essentially immediately when cross-compiling: {{{ $ ./boot $ ./configure --target=aarch64-linux-gnu $ hadrian/build.cabal.sh -j32 }}}
New description: Hadrian falls over essentially immediately when cross-compiling: {{{ $ ./boot $ ./configure --target=aarch64-linux-gnu $ hadrian/build.cabal.sh -j32 Up to date Up to date | Copy file: settings => _build/stage1/lib/settings | Copy file: settings => _build/stage0/lib/settings | Copy file: utils/hsc2hs/template-hsc.h => _build/stage0/lib/template- hsc.h | Copy file: llvm-targets => _build/stage0/lib/llvm-targets | Copy file: driver/ghc-usage.txt => _build/stage0/lib/ghc-usage.txt | Copy file: llvm-passes => _build/stage0/lib/llvm-passes | Copy file: driver/ghci-usage.txt => _build/stage0/lib/ghci-usage.txt shakeArgsWith 0.000s 0% Function shake 0.084s 20% ====== Database read 0.000s 0% With database 0.000s 0% Running rules 0.329s 79% ========================= Total 0.415s 100% Error when running Shake build system: at src/Rules.hs:(35,19)-(48,17): at src/Rules.hs:48:5-17: * Depends on: _build/stage2/bin/aarch64-linux-gnu-ghctags at src/Hadrian/Utilities.hs:292:5-18: * Depends on: _build/stage0/bin/aarch64-linux-gnu-ghctags * Raised the exception: Unknown program "_build/stage0/bin/aarch64-linux-gnu-ghctags" CallStack (from HasCallStack): error, called at src/Rules/Program.hs:26:29 in main:Rules.Program }}} -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16051#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16051: Cross compilation broken under Hadrian -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): I believe this broke due to 665f8b0c778b3a5dac4696f81da0cea88b101ea9. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16051#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16051: Cross compilation broken under Hadrian -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by alpmestan): * cc: angerman (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16051#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16051: Cross compilation broken under Hadrian -------------------------------------+------------------------------------- Reporter: bgamari | Owner: alpmestan Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by alpmestan): * owner: (none) => alpmestan -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16051#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#16051: Cross compilation broken under Hadrian -------------------------------------+------------------------------------- Reporter: bgamari | Owner: alpmestan Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by alpmestan): ghctags being gone, I don't have any problem getting the build to complete with this very simple patch: {{{#!diff diff --git a/hadrian/src/UserSettings.hs b/hadrian/src/UserSettings.hs index c92dd11d44..b6fc30bd90 100644 --- a/hadrian/src/UserSettings.hs +++ b/hadrian/src/UserSettings.hs @@ -59,4 +59,4 @@ successColour = mkSuccessColour (Dull Green) -- 'Stage1' compiler. Setting it to 'Stage3' will build the 'Stage3' -- compiler. Setting it to 'Stage0' will mean nothing gets built at all. finalStage :: Stage -finalStage = Stage2 +finalStage = Stage1 }}} (this is a setting Matthew introduced somewhat recently, documented in hadrian's docs) With this in place, a simple `hadrian/build.sh -j4` builds stage 1 to completion. However, trying to build this trivial Haskell program then fails: {{{#!hs main = putStrLn "hello" }}} with {{{#!sh $ _build/stage0/bin/aarch64-unknown-linux-gnu-ghc hello.hs -o hello [1 of 1] Compiling Main ( hello.hs, hello.o ) hello.hs:1:1: error: Bad interface file: /nix/store/8h3fdgpq66w8kxzxn49s706505a7ihnr- ghc-8.4.3/lib/ghc-8.4.3/base-4.11.1.0/Prelude.hi mismatched interface file versions (wanted "80720190211", got "8043") | 1 | main = putStrLn "hello" | ^ }}} The cross-compiler ends up looking at the boot compiler's interface files instead of its own. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16051#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC