Hadrian does not work with a cabal v2-installed "Happy"
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@goms:~/Projekte/ghc$ cat /etc/issue
Debian GNU/Linux 9 \n \l
roland@goms:~/Projekte/ghc$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.6.3
roland@goms:~/Projekte/ghc$ hadrian/build.sh --version
Up to date
Shake build system, version 0.17.4
roland@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@goms:~/Projekte/ghc$ cabal --version
cabal-install version 2.4.1.0
compiled using version 2.4.1.0 of the Cabal library