[GHC] #13325: Binary distributions produced from cross-compiled stage2 are broken
GHC
ghc-devs at haskell.org
Thu Feb 23 17:36:57 UTC 2017
#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
More information about the ghc-tickets
mailing list