Description
The build system searches for the yacc executable (for bison functionality), but multiple systems use yacc to mean Berkeley yacc and bison for Bison.
This means that depending on the system a symlink yacc -> bison needs to be created.
To Reproduce
Steps to reproduce the behavior:
Run kraft list update
Run kraft up -t helloworld hello
Get error:
/bin/sh: line 1: yacc: command not found
make[2]: *** [Makefile.rules:84: unikraft-setup/hello/build/kconfig/parser.tab.h] Error 127
make[1]: *** [unikraft-setup/hello/build/Makefile:756: /home/taugoust/Research/unikraft-setup/hello/build/kconfig/conf] Error 2
make: *** [Makefile:984: sub-make] Error 2
make: Leaving directory 'unikraft-setup/unikraft'
[CRITICAL] Could not configure application
Expected behavior
Ideally, the build would search for bison and use that as the first choice, falling back to yacc if bison is not available.
Description The build system searches for the
yacc
executable (forbison
functionality), but multiple systems useyacc
to mean Berkeley yacc andbison
for Bison.This means that depending on the system a symlink
yacc -> bison
needs to be created.To Reproduce Steps to reproduce the behavior:
kraft list update
kraft up -t helloworld hello
Expected behavior Ideally, the build would search for
bison
and use that as the first choice, falling back toyacc
ifbison
is not available.Desktop