unikraft / kraftkit

Build and use highly customized and ultra-lightweight unikernel VMs.
https://unikraft.org/docs/cli
BSD 3-Clause "New" or "Revised" License
227 stars 62 forks source link

`kraft build` does not configure the application properly if the app is not on one of `unikraft` organisation branches #645

Closed StefanJum closed 1 year ago

StefanJum commented 1 year ago

Describe the bug

Running kraft build from a repository while checked out on a branch that is not part of the unikraft organisation (e.g. fetching to a pull request) will cause the configuration to not add external libraries from kraft.yaml.

For example:

$ git clone https://github.com/unikraft/app-helloworld-cpp
$ cd app-helloworld-cpp/
$ gh pr checkout 13 # this will checkout on another branch
$ kraft build

[...]

$ cat .config.helloworld-cpp_qemu-x86_64 | grep -i libcxx
# CONFIG_LIBCXXABI is not set
# CONFIG_LIBCXX is not set

The libcxx and libcxxabi libraries are present in the kraft.yaml file. Also for whatever reason the musl library gets selected, but not any other.

craciunoiuc commented 1 year ago

This issue is caused by two issues: