
#16202: Hadrian install script doesn't update location of haddockHTMLs and haddockInterfaces -------------------------------------+------------------------------------- Reporter: harpocrates | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.6.3 (Hadrian) | Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: Installing GHC Unknown/Multiple | failed Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- This is to track part two of the plan here: https://gitlab.haskell.org/ghc/ghc/merge_requests/50#note_1808. When installing a bindist, the make system runs `ghc-cabal` to reconfigure packages and regenerate the package DB. Hadrian, on the other hand, seems to just be copying the package DB as is to its install location. This is mostly OK since most paths only need to be relative to package root. However, it breaks down for the `haddock-interfaces` and `haddock-html` fields, (esp. since documentation can be installed in a completely different location). The following interaction demonstrates the problem. Note how `ghc-pkg` is pointing us to a directory that doesn't even exist! {{{ $ ./hadrian/build.sh -c -j binary-dist $ mv _build/bindist/ghc-8.7.20190117-x86_64-apple-darwin.tar.xz /Users/alec/scratch $ cd /Users/alec/scratch $ tar xpvf ghc-8.7.20190117-x86_64-apple-darwin.tar.xz $ ./configure --prefix=/Users/alec/scratch && make install $ ./bin/ghc-pkg field base haddock-html haddock-html: /Users/alec/scratch/lib/../../docs/html/libraries/base $ ls /Users/alec/scratch/lib/../../docs/html/libraries/base ls: /Users/alec/scratch/lib/../../docs/html/libraries/base: No such file or directory }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16202 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler