unikraft / app-helloworld-cpp

kraft-ready repo for building c++ applications with Unikraft
3 stars 16 forks source link

failed to build for kvm on arm64 (raspberry pi 4) #6

Open aaly opened 2 years ago

aaly commented 2 years ago

Hi, while trying to build this example for kvm on arm64, some compiling errors occur as shown in logs. Any idea how to fix this? Logs:

pi@raspberrypi:~/app-helloworld-cpp $ kraft configure -p kvm -m arm64
/home/pi/app-helloworld-cpp is already configured, would you like to overwrite configuration? [y/N]: y
warning: LIBCOMPILER_RT (defined at /home/pi/.unikraft/libs/compiler-rt/Config.uk:1) has leading or trailing whitespace in its prompt
make: Entering directory '/home/pi/.unikraft/unikraft'
/home/pi/.unikraft/libs/compiler-rt/Config.uk:2:warning: leading whitespace ignored
/tmp/tmprdtlh_6x:9:warning: override: reassigning to symbol LIBUNWIND
/tmp/tmprdtlh_6x:11:warning: override: reassigning to symbol LIBCXX
/tmp/tmprdtlh_6x:12:warning: override: reassigning to symbol LIBCXXABI
#
# configuration written to /home/pi/app-helloworld-cpp/.config
#
make: Leaving directory '/home/pi/.unikraft/unikraft'
pi@raspberrypi:~/app-helloworld-cpp $ kraft build
make: Entering directory '/home/pi/.unikraft/unikraft'
make[1]: Nothing to be done for 'fetch'.
make: Leaving directory '/home/pi/.unikraft/unikraft'
make: Entering directory '/home/pi/.unikraft/unikraft'
/home/pi/.unikraft/libs/compiler-rt/Config.uk:2:warning: leading whitespace ignored
CP      config
GEN     libsyscall_shim: syscall_map.h.new
GEN     libsyscall_shim: syscall_stubs.h.new
GEN     libsyscall_shim: syscall_nrs.h.new
GEN     libsyscall_shim: syscall_nrs2.h.new
GEN     libsyscall_shim: provided_syscalls.h.in.new
make: Leaving directory '/home/pi/.unikraft/unikraft'
GEN     libsyscall_shim: syscall_map.h.new
GEN     libsyscall_shim: syscall_stubs.h.new
GEN     libsyscall_shim: syscall_nrs.h.new
GEN     libsyscall_shim: syscall_nrs2.h.new
GEN     libsyscall_shim: provided_syscalls.h.in.new
CC      libuksignal: signal.o
     1% █▍                                                                                                                                                                                                                                                           7/1245 [ 1.66s/file]In file included from /home/pi/.unikraft/unikraft/lib/syscall_shim/include/uk/syscall.h:331,
                 from /home/pi/.unikraft/unikraft/lib/uksignal/signal.c:47:
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:8:2: warning: #warning Ignoring system call 'fork': No system call number available [-Wcpp]
    8 | #warning Ignoring system call 'fork': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:16:2: warning: #warning Ignoring system call 'vfork': No system call number available [-Wcpp]
   16 | #warning Ignoring system call 'vfork': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:88:2: warning: #warning Ignoring system call 'getpgrp': No system call number available [-Wcpp]
   88 | #warning Ignoring system call 'getpgrp': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:328:2: warning: #warning Ignoring system call 'pause': No system call number available [-Wcpp]
  328 | #warning Ignoring system call 'pause': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:336:2: warning: #warning Ignoring system call 'alarm': No system call number available [-Wcpp]
  336 | #warning Ignoring system call 'alarm': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:392:2: warning: #warning Ignoring system call 'time': No system call number available [-Wcpp]
  392 | #warning Ignoring system call 'time': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:512:2: warning: #warning Ignoring system call 'readlink': No system call number available [-Wcpp]
  512 | #warning Ignoring system call 'readlink': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:536:2: warning: #warning Ignoring system call 'link': No system call number available [-Wcpp]
  536 | #warning Ignoring system call 'link': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:560:2: warning: #warning Ignoring system call 'access': No system call number available [-Wcpp]
  560 | #warning Ignoring system call 'access': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:600:2: warning: #warning Ignoring system call 'chmod': No system call number available [-Wcpp]
  600 | #warning Ignoring system call 'chmod': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:632:2: warning: #warning Ignoring system call 'dup2': No system call number available [-Wcpp]
  632 | #warning Ignoring system call 'dup2': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:648:2: warning: #warning Ignoring system call 'utime': No system call number available [-Wcpp]
  648 | #warning Ignoring system call 'utime': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:656:2: warning: #warning Ignoring system call 'utimes': No system call number available [-Wcpp]
  656 | #warning Ignoring system call 'utimes': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:664:2: warning: #warning Ignoring system call 'mknod': No system call number available [-Wcpp]
  664 | #warning Ignoring system call 'mknod': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:672:2: warning: #warning Ignoring system call 'rmdir': No system call number available [-Wcpp]
  672 | #warning Ignoring system call 'rmdir': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:680:2: warning: #warning Ignoring system call 'rename': No system call number available [-Wcpp]
  680 | #warning Ignoring system call 'rename': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:720:2: warning: #warning Ignoring system call 'lstat': No system call number available [-Wcpp]
  720 | #warning Ignoring system call 'lstat': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:752:2: warning: #warning Ignoring system call 'futimesat': No system call number available [-Wcpp]
  752 | #warning Ignoring system call 'futimesat': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:808:2: warning: #warning Ignoring system call 'lchown': No system call number available [-Wcpp]
  808 | #warning Ignoring system call 'lchown': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:816:2: warning: #warning Ignoring system call 'chown': No system call number available [-Wcpp]
  816 | #warning Ignoring system call 'chown': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:824:2: warning: #warning Ignoring system call 'stat': No system call number available [-Wcpp]
  824 | #warning Ignoring system call 'stat': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:832:2: warning: #warning Ignoring system call 'mkdir': No system call number available [-Wcpp]
  832 | #warning Ignoring system call 'mkdir': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:856:2: warning: #warning Ignoring system call 'symlink': No system call number available [-Wcpp]
  856 | #warning Ignoring system call 'symlink': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:864:2: warning: #warning Ignoring system call 'unlink': No system call number available [-Wcpp]
  864 | #warning Ignoring system call 'unlink': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:880:2: warning: #warning Ignoring system call 'getdents': No system call number available [-Wcpp]
  880 | #warning Ignoring system call 'getdents': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:896:2: warning: #warning Ignoring system call 'open': No system call number available [-Wcpp]
  896 | #warning Ignoring system call 'open': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:912:2: warning: #warning Ignoring system call 'pipe': No system call number available [-Wcpp]
  912 | #warning Ignoring system call 'pipe': No system call number available
      |  ^~~~~~~
/home/pi/app-helloworld-cpp/build/libsyscall_shim/include/uk/bits/provided_syscalls.h:920:2: warning: #warning Ignoring system call 'creat': No system call number available [-Wcpp]
  920 | #warning Ignoring system call 'creat': No system call number available
      |  ^~~~~~~
/home/pi/.unikraft/unikraft/lib/uksignal/signal.c: In function ‘sigaction’:
/home/pi/.unikraft/unikraft/lib/uksignal/signal.c:116:7: warning: implicit declaration of function ‘is_sig_ign’ [-Wimplicit-function-declaration]
  116 |   if (is_sig_ign(act)) {
      |       ^~~~~~~~~~
/home/pi/.unikraft/unikraft/lib/uksignal/signal.c: At top level:
/home/pi/.unikraft/unikraft/lib/uksignal/signal.c:144:8: error: unknown type name ‘sighandler_t’
  144 | static sighandler_t uk_signal(int signum, sighandler_t handler, int sa_flags)
      |        ^~~~~~~~~~~~
/home/pi/.unikraft/unikraft/lib/uksignal/signal.c:144:43: error: unknown type name ‘sighandler_t’; did you mean ‘sa_handler’?
  144 | static sighandler_t uk_signal(int signum, sighandler_t handler, int sa_flags)
      |                                           ^~~~~~~~~~~~
      |                                           sa_handler
/home/pi/.unikraft/unikraft/lib/uksignal/signal.c:161:1: error: unknown type name ‘sighandler_t’; did you mean ‘sa_handler’?
  161 | sighandler_t signal(int signum, sighandler_t handler)
      | ^~~~~~~~~~~~
      | sa_handler
/home/pi/.unikraft/unikraft/lib/uksignal/signal.c:161:33: error: unknown type name ‘sighandler_t’; did you mean ‘sa_handler’?
  161 | sighandler_t signal(int signum, sighandler_t handler)
      |                                 ^~~~~~~~~~~~
      |                                 sa_handler
make[1]: *** [/home/pi/.unikraft/unikraft/support/build/Makefile.build:27: /home/pi/app-helloworld-cpp/build/libuksignal/signal.o] Error 1
make: *** [Makefile:1015: sub-make] Error 2

Kraft list output:


UNIKRAFT                VERSION         RELEASED        LAST CHECKED
unikraft                0.9.0           7 hours ago     1 hour ago

PLATFORMS               VERSION         RELEASED        LAST CHECKED
solo5                   0.9.0           2 days ago      1 hour ago
digitalocean            0.9.0           2 days ago      1 hour ago
aws                     0.9.0           2 days ago      1 hour ago
gcp                     0.9.0           2 days ago      1 hour ago
raspi                   8117c61         30 Apr 22       1 hour ago

LIBRARIES               VERSION         RELEASED        LAST CHECKED
pthreadpool             0.9.0           2 days ago      1 hour ago
newlib                  0.9.0           2 days ago      1 hour ago
libfxdiv                0.9.0           2 days ago      1 hour ago
lwip                    0.9.0           2 days ago      1 hour ago
libfp16                 0.9.0           2 days ago      1 hour ago
libuuid                 0.6             02 Dec 21       1 hour ago
libcxx                  0.9.0           2 days ago      1 hour ago
libcxxabi               0.9.0           2 days ago      1 hour ago
intel-intrinsics        0.9.0           2 days ago      1 hour ago
libunwind               0.9.0           2 days ago      1 hour ago
psimd                   0.9.0           2 days ago      1 hour ago
eigen                   0.9.0           2 days ago      1 hour ago
compiler-rt             0.9.0           2 days ago      1 hour ago
pcre                    0.9.0           2 days ago      1 hour ago
pthread-embedded        0.9.0           2 days ago      1 hour ago
lua                     0.9.0           2 days ago      1 hour ago
click                   0.9.0           2 days ago      1 hour ago
openssl                 0.9.0           2 days ago      1 hour ago
http-parser             0.9.0           2 days ago      1 hour ago
googletest              0.9.0           2 days ago      1 hour ago
nginx                   0.9.0           2 days ago      1 hour ago
zlib                    0.9.0           2 days ago      1 hour ago
axtls                   0.9.0           2 days ago      1 hour ago
googlebenchmark         0.9.0           2 days ago      1 hour ago
libucontext             0.9.0           2 days ago      1 hour ago
gcc                     0.9.0           2 days ago      1 hour ago
nnpack                  0.9.0           2 days ago      1 hour ago
bzip2                   0.9.0           2 days ago      1 hour ago
wamr                    0.9.0           2 days ago      1 hour ago
libgo                   0.9.0           2 days ago      1 hour ago
micropython             0.9.0           2 days ago      1 hour ago
redis                   0.9.0           2 days ago      1 hour ago
python3                 0.9.0           2 days ago      1 hour ago
protobuf                0.9.0           2 days ago      1 hour ago
c-ares                  0.9.0           2 days ago      1 hour ago
intx                    0.9.0           2 days ago      1 hour ago
lvgl                    0.9.0           2 days ago      1 hour ago
open62541               0.9.0           2 days ago      1 hour ago
dnnl                    0.9.0           2 days ago      1 hour ago
boost                   0.9.0           2 days ago      1 hour ago
ruby                    0.9.0           2 days ago      1 hour ago
musl                    0.9.0           2 days ago      1 hour ago
sqlite                  0.9.0           2 days ago      1 hour ago
mbedtls                 0.9.0           2 days ago      1 hour ago
lzma                    0.9.0           2 days ago      1 hour ago
duktape                 0.9.0           2 days ago      1 hour ago
pybind11                0.9.0           2 days ago      1 hour ago
zydis                   0.9.0           2 days ago      1 hour ago
farmhash                0.9.0           2 days ago      1 hour ago
arm-intrinsics          0.9.0           2 days ago      1 hour ago
flatbuffers             0.9.0           2 days ago      1 hour ago
libhogweed              0.9.0           2 days ago      1 hour ago
nettle                  0.9.0           2 days ago      1 hour ago
libuv                   0.9.0           2 days ago      1 hour ago
fft2d                   0.9.0           2 days ago      1 hour ago
gemmlowp                0.9.0           2 days ago      1 hour ago
tlsf                    0.9.0           2 days ago      1 hour ago
tflite                  0.9.0           2 days ago      1 hour ago
libelf                  0.9.0           2 days ago      1 hour ago
libicu                  0.9.0           2 days ago      1 hour ago
libjpeg                 e1d0c02         29 Nov 21       1 hour ago
tinyalloc               0.9.0           2 days ago      1 hour ago
lcms                    4ffcbd5         29 Nov 21       1 hour ago
libtasn1                0.9.0           2 days ago      1 hour ago
shfs                    0.9.0           2 days ago      1 hour ago
extfs                   7c067b2         03 Jul 21       1 hour ago
libpng                  ccf9067         29 Nov 21       1 hour ago
libtiff                 99e3312         29 Nov 21       1 hour ago
openjpeg                ec8278c         26 Nov 21       1 hour ago
libevent                700eeaa         08 Jul 21       1 hour ago
fatfs                   a4a21c8         04 Jul 21       1 hour ago
mimalloc                0.9.0           2 days ago      1 hour ago
omniorbpy               30a27b3         03 Feb 22       1 hour ago
omniorb                 daa8d12         06 Feb 22       1 hour ago
libsodium               0.9.0           2 days ago      1 hour ago
dafny                   0.9.0           2 days ago      1 hour ago

APPLICATIONS            VERSION         RELEASED        LAST CHECKED
helloworld              0.9.0           2 days ago      1 hour ago
httpreply               0.9.0           2 days ago      1 hour ago
elfloader               6448669         15 May 22       1 hour ago
nettle-test             0.5             06 Feb 21       1 hour ago
rust                    95a1825         27 Aug 21       1 hour ago
python3                 0.9.0           2 days ago      1 hour ago
helloworld-go           0.9.0           2 days ago      1 hour ago
helloworld-cpp          0.9.0           2 days ago      1 hour ago
micropython             0.9.0           2 days ago      1 hour ago
click                   0.9.0           2 days ago      1 hour ago
duktape                 0.9.0           2 days ago      1 hour ago
ruby                    0.9.0           2 days ago      1 hour ago
redis                   0.9.0           2 days ago      1 hour ago
wamr                    0.9.0           2 days ago      1 hour ago
sqlite                  0.9.0           2 days ago      1 hour ago
lua                     0.9.0           2 days ago      1 hour ago
nginx                   0.9.0           2 days ago      1 hour ago

Steps to reproduce:

kraft configure -p kvm-m arm64
kraft build

Expected output: Hello World!

razvand commented 10 months ago

Hi, @aaly , can you try to rebuild now, using the Make-based approach? pykraft is deprecated, and kraftkit has some issues.