[GHC] #16259: Hadrian does not work with a cabal v2-installed "Happy" (was: Hadrian does not work with a cabal v2-installed "happy")

GHC ghc-devs at haskell.org
Wed Jan 30 18:30:44 UTC 2019


#16259: Hadrian does not work with a cabal v2-installed "Happy"
-------------------------------------+-------------------------------------
        Reporter:  RolandSenn        |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Build System      |              Version:  8.6.3
  (Hadrian)                          |
      Resolution:                    |             Keywords:
Operating System:  Linux             |         Architecture:
 Type of failure:  Building GHC      |  Unknown/Multiple
  failed                             |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Description changed by RolandSenn:

Old description:

> I installed happy with:
>

> {{{
> cabal new-install --symlink-bindir=~/Software/ghc-8.6.3/bin  happy
> }}}
>
> where  `~/Software/ghc-8.6.3/bin` is in my PATH.
>
> When I run `hadrian/build.sh -c --flavour=devel2` I get the following
> error:
>

> {{{
> happy: /home/roland/.cabal/share/x86_64-linux-ghc-8.6.3/happy-1.19.9
> /HappyTemplate-arrays-coerce: openFile: does not exist (No such file or
> directory)
> }}}
>
> It's correct, I don't have a file `.cabal/share/x86_64-linux-
> ghc-8.6.3/happy-1.19.9/HappyTemplate-arrays-coerce`.
>
> However I have a file
> `.cabal/store/ghc-8.6.3/happy-1.19.9-84db80555b9a8f54be2ca475bccbc751401ffbff30194c8c26d08a002a665431/share
> /HappyTemplate-arrays-coerce`.
>
> If I do an old-fashioned `cabal v1-install happy`, it creates the missing
> file `.cabal/share/x86_64-linux-ghc-8.6.3/happy-1.19.9/HappyTemplate-
> arrays-coerce` and Hadrian is now able to build!
>

> Hadrian should not depend on old-style cabal installs!
>

> Program versions:
>
> {{{
> roland at goms:~/Projekte/ghc$ cat /etc/issue
> Debian GNU/Linux 9 \n \l
>
> roland at goms:~/Projekte/ghc$ ghc --version
> The Glorious Glasgow Haskell Compilation System, version 8.6.3
>
> roland at goms:~/Projekte/ghc$ hadrian/build.sh --version
> Up to date
> Shake build system, version 0.17.4
>
> roland at goms:~/Projekte/ghc$ happy --version
> Happy Version 1.19.9 Copyright (c) 1993-1996 Andy Gill, Simon Marlow (c)
> 1997-2005 Simon Marlow
>
> Happy is a Yacc for Haskell, and comes with ABSOLUTELY NO WARRANTY.
> This program is free software; you can redistribute it and/or modify
> it under the terms given in the file 'LICENSE' distributed with
> the Happy sources.
>
> roland at goms:~/Projekte/ghc$ cabal --version
> cabal-install version 2.4.1.0
> compiled using version 2.4.1.0 of the Cabal library
> }}}

New description:

 I installed Happy with:


 {{{
 cabal new-install --symlink-bindir=~/Software/ghc-8.6.3/bin  happy
 }}}

 where  `~/Software/ghc-8.6.3/bin` is in my PATH.

 When I run `hadrian/build.sh -c --flavour=devel2` I get the following
 error:


 {{{
 happy: /home/roland/.cabal/share/x86_64-linux-ghc-8.6.3/happy-1.19.9
 /HappyTemplate-arrays-coerce: openFile: does not exist (No such file or
 directory)
 }}}

 It's correct, I don't have a file `.cabal/share/x86_64-linux-
 ghc-8.6.3/happy-1.19.9/HappyTemplate-arrays-coerce`.

 However I have a file
 `.cabal/store/ghc-8.6.3/happy-1.19.9-84db80555b9a8f54be2ca475bccbc751401ffbff30194c8c26d08a002a665431/share
 /HappyTemplate-arrays-coerce`.

 If I do an old-fashioned `cabal v1-install happy`, it creates the missing
 file `.cabal/share/x86_64-linux-ghc-8.6.3/happy-1.19.9/HappyTemplate-
 arrays-coerce` and Hadrian is now able to build!


 Hadrian should not depend on old-style cabal installs!


 Program versions:

 {{{
 roland at goms:~/Projekte/ghc$ cat /etc/issue
 Debian GNU/Linux 9 \n \l

 roland at goms:~/Projekte/ghc$ ghc --version
 The Glorious Glasgow Haskell Compilation System, version 8.6.3

 roland at goms:~/Projekte/ghc$ hadrian/build.sh --version
 Up to date
 Shake build system, version 0.17.4

 roland at goms:~/Projekte/ghc$ happy --version
 Happy Version 1.19.9 Copyright (c) 1993-1996 Andy Gill, Simon Marlow (c)
 1997-2005 Simon Marlow

 Happy is a Yacc for Haskell, and comes with ABSOLUTELY NO WARRANTY.
 This program is free software; you can redistribute it and/or modify
 it under the terms given in the file 'LICENSE' distributed with
 the Happy sources.

 roland at goms:~/Projekte/ghc$ cabal --version
 cabal-install version 2.4.1.0
 compiled using version 2.4.1.0 of the Cabal library
 }}}

--

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16259#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list