#16368: Boot GHC's libffi installation path leaks into stage1 build

"GHC" <[email protected]>
Newsgroups gmane.comp.lang.haskell.glasgow.bugs
Message-ID <[email protected]>
#16368: Boot GHC's libffi installation path leaks into stage1 build
-------------------------------------+-------------------------------------
           Reporter:  sgraf          |             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:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Starting yesterday, I'm having problems building GHC from a `nix-shell
 --pure https://github.com/alpmestan/ghc.nix/archive/master.tar.gz`.

 Build comes to a halt after/while configuring the RTS, because it can't
 find libffi.h in a global nix store installation that I can't find
 anywhere in my `env`. That nix-store path certainly exists and has an
 installation of `libffi`, but without an include path (probably since
 recently, haven't had problems before).

 After some debugging, I figured out that this path leaks in through `ghc-
 cabal` crawling through the Package DB of the host GHC. These are the
 libraries it finds out about this way (dumped by inserting `putStrLn
 (unlines (forDeps Installed.includeDirs))` in line 388 of `utils/ghc-
 cabal/Main.hs`:

 {{{
 /nix/store/7874h075nf8yikvr47642xqrwqwyv99s-
 ghc-8.6.3/lib/ghc-8.6.3/base-4.12.0.0/include
 /nix/store/5c9pfgazxid22ik3smh8zi805cp1i03y-gmp-6.1.2-dev/include
 /nix/store/7874h075nf8yikvr47642xqrwqwyv99s-ghc-8.6.3/lib/ghc-8.6.3
 /integer-gmp-1.0.2.0/include
 /nix/store/7874h075nf8yikvr47642xqrwqwyv99s-
 ghc-8.6.3/lib/ghc-8.6.3/include
 /nix/store/karxq4hlfmfj0c3yk4wv5mfaz06p70k8-libffi-3.2.1/include
 }}}

 They are then passed on to `DEP_INCLUDE_DIRS_SINGLE_QUOTED` and wreak
 havoc from there.

 Which of these paths are vital? The `libffi` path at least seems to shadow
 the local tarballs for me. This concerns Hadrian and the Make-based build
 system.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16368>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.