unikraft / pykraft

Python library for configuring and building unikernels
Other
177 stars 42 forks source link

ARM64 + KVM configure error #90

Open sktzwhj opened 2 years ago

sktzwhj commented 2 years ago

Describe the bug

The example app helloworld cannot be configured.

Steps to reproduce

kraft init -t helloworld hello

kraft configure -m arm64 -p kvm I also tried to give linuxu as the platform option, errors are the same.

Expected behavior

I expected the unikernel to be configured and compiled before running.

Which architectures were you using or does this bug affect?

No response

Which platforms were you using or does this bug affect?

No response

Relevant log output

[root@hector-arm64 hello]# kraft configure -m arm64 -p xen
[?] Which target would you like to configure?: helloworld_kvm-arm64
   helloworld_linuxu-x86_64
   helloworld_kvm-x86_64
   helloworld_xen-x86_64
   helloworld_linuxu-arm64
 > helloworld_kvm-arm64
   helloworld_linuxu-arm

make: Entering directory '/root/.unikraft/unikraft'
mkdir -p /home/whj/hello/hello/build/kconfig/lxdialog
make --no-print-directory CC="/usr/bin/gcc" HOSTCC="/usr/bin/gcc" \
obj=/home/whj/hello/hello/build/kconfig -C /root/.unikraft/unikraft/support/kconfig -f Makefile.br /home/whj/hello/hello/build/kconfig/conf
Usage: yacc [options] filename

Options:
  -b file_prefix        set filename prefix (default "y.")
  -B                    create a backtracking parser
  -d                    write definitions (.tab.h)
  -i                    write interface (y.tab.i)
  -g                    write a graphical description
  -l                    suppress #line directives
  -L                    enable position processing, e.g., "%locations"
  -o output_file        (default ".tab.c")
  -p symbol_prefix      set symbol prefix (default "yy")
  -P                    create a reentrant parser, e.g., "%pure-parser"
  -r                    produce separate code and table files (y.code.c)
  -s                    suppress #define's for quoted names in %token lines
  -t                    add debugging support
  -v                    write description (y.output)
  -V                    show version information and exit
make[2]: *** [Makefile.rules:84: /home/whj/hello/hello/build/kconfig/parser.tab.h] Error 1
make[1]: *** [/home/whj/hello/hello/build/Makefile:756: /home/whj/hello/hello/build/kconfig/conf] Error 2
make: *** [Makefile:984: sub-make] Error 2
make: Leaving directory '/root/.unikraft/unikraft'
[CRITICAL] Could not configure application
StefanJum commented 2 years ago

Hello! I can't seem to be able to reproduce the issue. I tried both using kraft configure -m arm64 -p kvm and selecting the platform and arch from the interactive menu as shown in the log output and it successfully configures in both cases. Can you give any extra context that would help? Could it be an issue regarding yacc, as it shows you the usage for it in the output?

zhaoxinyu commented 2 years ago

I also meet this issue when running kraft configure on a kvm virtual machine. The linux distribution is CentOS 7.9. Yacc version is yacc - 1.9 20130304