unikraft/lib-libcxx

CPP and "wchar.h" error.

hack3rcon opened this issue · 8 comments

Hello,
When I run kraft up -m x86_64 -p xen helloworld-cpp then it show me below error:
build/libcxx/origin/libcxx-7.0.0.src/include/wchar.h:119:15: fatal error: wchar.h: No such file or directory 119 | #include_next <wchar.h> | ^~~~~~~~~ compilation terminated.
But my system has "wchar.h" file:
$ ls /usr/include/ | grep "wchar.h" wchar.h

How can I solve it?

Thank you.

wchar.h won't exist in /usr/include/ since the build for a unikernel does not use headers or source files of the host OS. Read more about what a Unikernel is here.

wchar.h won't exist in /usr/include/ since the build for a unikernel does not use headers or source files of the host OS. Read more about what a Unikernel is here.

Then how can I solve it? What is my problem?
Can I use the Unikraft in VirtualBox or any VM?

It looks like you were trying to instantiate Unikraft hello world application for Xen. If you have Xen running on your host, you will not need to use VirtualBox. Transferring issue to the right repo and cc'ing cxx maintainers.

No, I want to use Xen in the VirtualBox. Lauch the Unikraft in the VirtualBox.
The error is because of it?

I'm confused. Are you running nested virtualization? What is your host OS? And which OS are you trying to run Unikraft alongisde?

Unikraft can run on Xen hypervisor but has not been tested on VirtualBox.

I'm confused. Are you running nested virtualization? What is your host OS? And which OS are you trying to run Unikraft alongisde?

Unikraft can run on Xen hypervisor but has not been tested on VirtualBox.

Yes. Nested Virtualization.
I'm using Lubuntu.
One of the Unikraft problem is that it never check the Xen hypervisor installation and ask the user about install it.

I suppose there should perhaps be a check within kraft (and not Unikraft) that Xen is available if you have selected to run the unikernel on this target platform. However, this shouldn't be strictly necessary since you have built the unikernel to run on Xen, the assumption is that you can run VMs on Xen already.

So you are running Lubuntu + Xen? Or are you running a VM in VirtualBox which has Xen?