Open WesleyAC opened 2 years ago
Hi,
I think the lex binary is needed by kconfig[1].
[1] https://github.com/unikraft/unikraft/tree/staging/support/kconfig
Ah, I see — and indeed, adding LEX := flex
to the Makefile.rules
in that directory appears to fix this problem. Would it be reasonable to upstream that change, or does kconfig rely on the lex compatibility mode somehow?
Describe the bug
When I run
kraft up -p linuxu -m x86_64 -t helloworld kraft-test
on NixOS, I get the following error:I am building on NixOS. I am using
poetry
to install the staging version ofkraft
. I haveflex
in my$PATH
—which flex
reports/nix/store/jqgqy1az5x81c4vdgys8q2is5hhhr8ap-flex-2.6.4/bin/flex
. I do not havelex
in my path, but from reading through the Makefiles, it doesn't seem like alex
binary should be required —~/.unikraft/unikraft/Makefile
setsLEX := flex
.To Reproduce Steps to reproduce the behavior:
nix-shell -p poetry flex
to install poetry and flexpoetry init
to set up a poetry project.kraft = { git = "https://github.com/unikraft/kraft.git", branch = "staging" }
topyproject.toml
and runpoetry update
andpoetry install
to install kraft.poetry shell
to get a shell where kraft is available.kraft up -p linuxu -m x86_64 -t helloworld kraft-test
My guess is that you could also reproduce this behaviour on other linuxes by removing the symlink from
/bin/lex
to/bin/flex
(or/usr/bin/
, as the case may be), but I have not tested that.Expected behavior
A hello world unikernel is built.
Desktop (please complete the following information):