Hi all,

I created an issue(https://github.com/rumpkernel/rumprun/issues/47) before,
and mato replied me just now.

Here is my original post:

> Hi,
>
> I followed this tutorial
> <https://github.com/rumpkernel/wiki/wiki/Tutorial%3A-Building-Rumprun-Unikernels>.
> And I wanted to compile an existing project with cmake.
>
> $ cmake -G "Unix Makefiles" 
> -DCMAKE_TOOLCHAIN_FILE=../../rumprun/app-tools/x86_64-rumprun-netbsd-toolchain.cmake
>  .
> $ make
>
> cmake was successful. After typing make, I got an error:
>
> fatal error: sys/cpuset.h: No such file or directory
>  #include <sys/cpuset.h>
>
> It seems that there is no header file named cpuset.h in
> rumprun/platform/hw/rump/include/sys
>
> Does anyone know how to solve this problem?
>
> Thanks!
>

mato's reply:

> Hi,
> Rumprun provides a NetBSD "userland" and NetBSD does not have the (Linux)
> concept of cpusets. I'm assuming your project normally builds on Linux,
> although I don't see a sys/cpuset.h on my Linux system -- is this
> provided by an external library? In any case, you'll need to modify your
> project to accomodate that, perhaps by adding the relevant tests to
> CMakeLists.txt.
> If you need help, please ask on IRC or on the mailing list.
>


The project I want to compile is zmap. I compiled it successfully in Ubuntu
Linux and Mac OS X.

Yes, that header(<sys/cpuset.h>) is not an linux header file. That part of
code is:

#if defined(__FreeBSD__) || defined(__NetBSD__)
#include <sys/param.h>
#include <sys/cpuset.h>
#define cpu_set_t cpuset_t
#endif

I see the macro here, so I think these header files should be contained in
NetBSD, but I still got errors. I'm not familiar with NetBSD, so I'm
seeking for help.

Thanks!

Reply via email to