[GHC] #13325: Binary distributions produced from cross-compiled stage2 are broken
#13325: Binary distributions produced from cross-compiled stage2 are broken -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.0.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: #8910 Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- The binary distribution by a cross-compiled build (e.g. configure with `./configure --target=$cross_target`) is broken out of the box. After untarring and configuring the bindist, `make install` fails due to missing files, {{{ # make install make --no-print-directory -f ghc.mk install BINDIST=YES NO_INCLUDE_DEPS=YES ghc.mk:742: utils/ghctags/ghc.mk: No such file or directory ghc.mk:742: utils/check-api-annotations/ghc.mk: No such file or directory ghc.mk:742: utils/check-ppr/ghc.mk: No such file or directory make[1]: *** No rule to make target 'utils/check-ppr/ghc.mk'. Stop. Makefile:51: recipe for target 'install' failed make: *** [install] Error 2 }}} This can be worked around by, {{{ $ mkdir utils/ghctags utils/check-ppr utils/check-api-annotations $ touch utils/hp2ps/dist/build/tmp/hp2ps \ utils/ghctags/ghc.mk \ utils/check-api-annotations/ghc.mk \ utils/check-ppr/ghc.mk }}} I believe the reason for this is that these are utilities which would typically be built by the stage2 compiler, which we obviously are unable to build. There are a few options for fixing this, * Produce a shell script throwing an error to sit in place of the unbuildable utilities * Fix the build system to include the appropriate `ghc.mk` files in the bindist, despite the utilities they build not being present * Include the sources for the utilities in the bindist and teach `make install` to build them -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13325> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13325: Binary distributions produced from cross-compiled stage2 are broken -------------------------------------+------------------------------------- Reporter: bgamari | Owner: bgamari Type: bug | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #8910 | Differential Rev(s): Phab:D3187 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * owner: (none) => bgamari * differential: => Phab:D3187 * milestone: 8.4.1 => 8.2.1 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13325#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13325: Binary distributions produced from cross-compiled stage2 are broken -------------------------------------+------------------------------------- Reporter: bgamari | Owner: bgamari Type: bug | Status: patch Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #8910 | Differential Rev(s): Phab:D3187 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => patch -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13325#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13325: Binary distributions produced from cross-compiled stage2 are broken -------------------------------------+------------------------------------- Reporter: bgamari | Owner: bgamari Type: bug | Status: patch Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #8910 | Differential Rev(s): Phab:D3187 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ben Gamari <ben@…>): In [changeset:"a7eeb607e62bb360327d834fc6dd5ea6195ae825/ghc" a7eeb607/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="a7eeb607e62bb360327d834fc6dd5ea6195ae825" build system: Persist CrossCompiling in binary distributions The build system uses the CrossCompiling variable to decide whether or not we should build various packages that must be built using the compiler. Consequently, it is important that we persist its value in the binary distribution so we know during `make install` not to go looking for files that would have been built for these packages. Failing to do this causes #13325. Test Plan: Cross compile, `make binary-dist`, and try installing the binary distribution on the target Reviewers: hvr, austin, trofi, rwbarton Reviewed By: trofi, rwbarton Subscribers: carter, trofi, rwbarton, erikd, thomie, snowleopard, davean Differential Revision: https://phabricator.haskell.org/D3187 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13325#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#13325: Binary distributions produced from cross-compiled stage2 are broken -------------------------------------+------------------------------------- Reporter: bgamari | Owner: bgamari Type: bug | Status: closed Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #8910 | Differential Rev(s): Phab:D3187 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: patch => closed * resolution: => fixed -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13325#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC