[Haskell-cafe] Happy GLR mode build failures

Cetin Sert cetin.sert at gmail.com
Wed Jul 1 16:14:57 EDT 2009


Hi,

It's not possible to build the Happy glr examples using GHC 6.10.3 and Happy
1.18.4:

cetin at unique:~/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr$ make
make loop CMD=run
make[1]: Entering directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr'
for d in expr-eval expr-tree expr-monad hidden-leftrec highly-ambiguous
packing nlp bio-eg; do (cd $d && make run); done
make[2]: Entering directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/expr-eval'
# might want to run happy with --ghc
ghc -I../common -i../common -package data -O -cpp -fglasgow-exts -package
lang -o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Error 1
make[2]: Leaving directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/expr-eval'
make[2]: Entering directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/expr-tree'
# might want to run happy with --ghc
ghc -I../common -i../common -package data -O2 -cpp -fglasgow-exts -package
lang -o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Error 1
make[2]: Leaving directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/expr-tree'
make[2]: Entering directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/expr-monad'
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Error 1
make[2]: Leaving directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/expr-monad'
make[2]: Entering directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/hidden-leftrec'
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Error 1
make[2]: Leaving directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/hidden-leftrec'
make[2]: Entering directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/highly-ambiguous'
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Error 1
make[2]: Leaving directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/highly-ambiguous'
make[2]: Entering directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/packing'
Makefile:8: warning: overriding commands for target `.y.hs'
../Makefile.defs:15: warning: ignoring old commands for target `.y.hs'
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Error 1
make[2]: Leaving directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/packing'
make[2]: Entering directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/nlp'
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-o english --make Main.lhs
<command line>: unknown package: data
make[2]: *** [english] Error 1
make[2]: Leaving directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/nlp'
make[2]: Entering directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/bio-eg'
Making BioData.hs WITHOUT optimisation (for speed)
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-funfolding-use-threshold0 -fno-strictness  -c BioData.hs
<command line>: unknown package: data
make[2]: *** [BioData.hi] Error 1
make[2]: Leaving directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr/bio-eg'
make[1]: *** [loop] Error 2
make[1]: Leaving directory `/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr'
make: *** [all] Error 2
cetin at unique:~/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr$ cabal update
Downloading the latest package list from hackage.haskell.org
cetin at unique:~/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr$ cabal install
data
cabal: There is no package named data
cetin at unique:~/.cabal/packages/
hackage.haskell.org/happy/1.18.4/happy-1.18.4/examples/glr$ happy --version;
ghc --version
Happy Version 1.18.4 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.
The Glorious Glasgow Haskell Compilation System, version 6.10.3


or GHC 6.10.1 and Happy 1.18.2:

cetin at sweethome:~/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr$ makemake loop
CMD=run
make[1]: Betrete Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr'
for d in expr-eval expr-tree expr-monad hidden-leftrec highly-ambiguous
packing nlp bio-eg; do (cd $d && make run); done
make[2]: Betrete Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/expr-eval'
# might want to run happy with --ghc
ghc -I../common -i../common -package data -O -cpp -fglasgow-exts -package
lang -o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Fehler 1
make[2]: Verlasse Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/expr-eval'
make[2]: Betrete Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/expr-tree'
# might want to run happy with --ghc
ghc -I../common -i../common -package data -O2 -cpp -fglasgow-exts -package
lang -o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Fehler 1
make[2]: Verlasse Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/expr-tree'
make[2]: Betrete Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/expr-monad'
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Fehler 1
make[2]: Verlasse Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/expr-monad'
make[2]: Betrete Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/hidden-leftrec'
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Fehler 1
make[2]: Verlasse Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/hidden-leftrec'
make[2]: Betrete Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/highly-ambiguous'
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Fehler 1
make[2]: Verlasse Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/highly-ambiguous'
make[2]: Betrete Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/packing'
Makefile:8: Warnung: Die Befehle für das Ziel ».y.hs« werden überschrieben
../Makefile.defs:15: Warnung: Alte Befehle für das Ziel ».y.hs« werden
ignoriert
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-o expr --make Main.lhs
<command line>: unknown package: data
make[2]: *** [expr] Fehler 1
make[2]: Verlasse Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/packing'
make[2]: Betrete Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/nlp'
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-o english --make Main.lhs
<command line>: unknown package: data
make[2]: *** [english] Fehler 1
make[2]: Verlasse Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/nlp'
make[2]: Betrete Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/bio-eg'
Making BioData.hs WITHOUT optimisation (for speed)
ghc -I../common -i../common -package data  -cpp -fglasgow-exts -package lang
-funfolding-use-threshold0 -fno-strictness  -c BioData.hs
<command line>: unknown package: data
make[2]: *** [BioData.hi] Fehler 1
make[2]: Verlasse Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr/bio-eg'
make[1]: *** [loop] Fehler 2
make[1]: Verlasse Verzeichnis '/home/cetin/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr'
make: *** [all] Fehler 2
cetin at sweethome:~/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr$ happy --version;
ghc --version
Happy Version 1.18.2 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.
The Glorious Glasgow Haskell Compilation System, version 6.10.1


When I try to manually build something out of a .y file, I keep getting:

cetin at sweethome:~/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr$ find | grep -E
"y$" | xargs -n 1 echo happy -gcal
happy -gcal ./packing/Expr.y
happy -gcal ./highly-ambiguous/Expr.y
happy -gcal ./expr-eval/Expr.y
happy -gcal ./expr-monad/Expr.y
happy -gcal ./nlp/English.y
happy -gcal ./hidden-leftrec/Expr.y
happy -gcal ./expr-tree/Expr.y
happy -gcal ./bio-eg/Bio.y
cetin at sweethome:~/.cabal/packages/
hackage.haskell.org/happy/1.18.2/happy-1.18.2/examples/glr$ find | grep -E
"y$" | xargs -n 1 happy -gcal
reduce/reduce conflicts: 2
happy: src/ProduceGLRCode.lhs:190:11-76: Irrefutable pattern failed for
pattern (pre, drop_me : post)

shift/reduce conflicts:  7
reduce/reduce conflicts: 1
happy: src/ProduceGLRCode.lhs:190:11-76: Irrefutable pattern failed for
pattern (pre, drop_me : post)

shift/reduce conflicts:  9
happy: src/ProduceGLRCode.lhs:190:11-76: Irrefutable pattern failed for
pattern (pre, drop_me : post)

shift/reduce conflicts:  9
happy: src/ProduceGLRCode.lhs:190:11-76: Irrefutable pattern failed for
pattern (pre, drop_me : post)

shift/reduce conflicts:  2
happy: src/ProduceGLRCode.lhs:190:11-76: Irrefutable pattern failed for
pattern (pre, drop_me : post)

shift/reduce conflicts:  4
reduce/reduce conflicts: 1
happy: src/ProduceGLRCode.lhs:190:11-76: Irrefutable pattern failed for
pattern (pre, drop_me : post)

shift/reduce conflicts:  9
happy: src/ProduceGLRCode.lhs:190:11-76: Irrefutable pattern failed for
pattern (pre, drop_me : post)

unused rules: 20
shift/reduce conflicts:  35
reduce/reduce conflicts: 68
happy: src/ProduceGLRCode.lhs:190:11-76: Irrefutable pattern failed for
pattern (pre, drop_me : post)

Does anyone have solution for this? The irrefutable pattern failure issue is
especially bothersome for me as I ran into it in a Fortran grammar I'm
writing and got stuck.

Best Regards,
Cetin Sert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090701/517fc43b/attachment.html


More information about the Haskell-Cafe mailing list