0

I am installing "Fuzz typechecker Z" in Ubuntu 20.04 https://spivey.oriel.ox.ac.uk/corner/Fuzz_typechecker_for_Z

However, when I do make I get the following errors. Any idea where should I start?

make -C src all
make[1]: Entering directory '/home/evochecker/Downloads/fuzz/src'
gcc  -Wall -c -DDEBUG -DANSI -DASSUME zparse.c
In file included from zparse.y:88:
absyn.h:4:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘x_slot’
absyn.h:51: warning: "x_params" redefined
absyn.h:19: note: this is the location of the previous definition
absyn.h:76: warning: "x_arg" redefined
absyn.h:64: note: this is the location of the previous definition
zparse.y: In function ‘sexp_fix’:
zparse.y:721:14: error: expected identifier before ‘=’ token
  721 |    a->x_body = sexp_fix(a->x_body);
      |              ^
zparse.y:728:19: error: expected identifier before ‘;’ token
  728 |    return a->x_arg;
      |                   ^
zparse.y:732:13: error: expected identifier before ‘=’ token
  732 |    a->x_arg = sexp_fix(a->x_arg);
      |             ^
zparse.y:739:14: error: expected identifier before ‘=’ token
  739 |    a->x_arg2 = sexp_fix(a->x_arg2);
      |              ^
zparse.y: In function ‘pred_fix’:
zparse.y:760:14: error: expected identifier before ‘=’ token
  760 |    a->x_body = pred_fix(a->x_body);
      |              ^
zparse.y:766:14: error: expected identifier before ‘=’ token
  766 |    a->x_body = pred_fix(a->x_body);
      |              ^
zparse.y:778:16: error: expected identifier before ‘->’ token
  778 |    if (a->x_arg->x_kind == SEXPR)
      |                ^~
zparse.y:779:18: error: expected identifier before ‘=’ token
  779 |         a->x_arg = a->x_arg->x_arg;
      |                  ^
zparse.y:781:16: error: expected identifier before ‘->’ token
  781 |    if (a->x_arg->x_kind != SREF) {
      |                ^~
zparse.y:791:13: error: expected identifier before ‘=’ token
  791 |    a->x_arg = pred_fix(a->x_arg);
      |             ^
zparse.y:796:14: error: expected identifier before ‘=’ token
  796 |    a->x_arg2 = pred_fix(a->x_arg2);
      |              ^
make[1]: *** [Makefile:75: zparse.o] Error 1
make[1]: Leaving directory '/home/evochecker/Downloads/fuzz/src'
make: *** [Makefile:55: src] Error 2

I know this may be a very specific question related to Fuzz, so thanks for any help. Here are the list of files (zparse.c, zparse.h, absyn.h) https://github.com/Spivoxity/fuzz/tree/master/src

Griselle Z
  • 127
  • 1
  • 9

1 Answers1

1

I saw this question while perusing other 'z-notation' questions. I am using Ubuntu 22.04 and tried downloading and compiling the utility and did not run into any problems. Here is what I did:

 git clone https://github.com/Spivoxity/fuzz.git
 cd fuzz/
 ./configure
 make

Here is the output:

make[1]: Entering directory '/tmp/fuzz/src'
bison -dv -y zparse.y -o zparse.c
gawk -f absyn.k absyn.x >absyn.h
gcc  -Wall -c -DDEBUG -DANSI -DASSUME zparse.c
flex -ozscan.c zscan.l 
gcc  -Wall -c -DDEBUG -DANSI -DASSUME -DYY_NO_UNPUT -DYY_NO_INPUT zscan.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME -DLIBDIR=\"/usr/local/lib\" -Dfuzz_version=\"1.2.1\" main.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME spec.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME type.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME frame.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME dict.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME sched.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME pretty.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME error.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME expr.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME alloc.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME unify.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME schema.c
gcc  -Wall -c -DDEBUG -DANSI -DASSUME dump.c
gcc  -o fuzz zparse.o zscan.o main.o spec.o type.o frame.o dict.o sched.o pretty.o error.o expr.o alloc.o unify.o schema.o dump.o
/usr/bin/cpp -DDEBUG -DANSI -DASSUME symdef.x >symdef.i
gawk -f fuzzlib.k output=fuzzlib fuzzlib.x >fuzzlib
gawk -f fuzzlib.k output=minilib minilib.x >minilib
make[1]: Leaving directory '/tmp/fuzz/src'
stan_plogic
  • 113
  • 8