RE: rump_curlwp.h no such file or directory error while building rump kernel tool chain

  • From: Du Yukun <ykdu@xxxxxxxxxxx>
  • To: Antti Kantee <pooka@xxxxxx>, "rumpkernel-users@xxxxxxxxxxxxx" <rumpkernel-users@xxxxxxxxxxxxx>
  • Date: Mon, 30 May 2016 04:02:48 +0000

From: Antti Kantee
Sent: Friday, May 27, 2016 6:12 PM
To: rumpkernel-users@xxxxxxxxxxxxx
Subject: Re: rump_curlwp.h no such file or directory error while building 
rump kernel tool chain

On 27/05/16 02:54, Du Yukun wrote:
Hi everyone!

I am very new to rump kernel.

When  try to build a rumprun follow the tutorial as below:

```
$ git clone http://repo.rumpkernel.org/rumprun
$ cd rumprun
$ git submodule update --init
$ CC=cc ./build-rr.sh hw
```
I get the error as below:

```
/include/machine/cpu.h:41:25: fatal error: rump_curlwp.h: No such file or 
directory
```

And after I download the relevant header from
http://ftp.jaist.ac.jp/pub/NetBSD/NetBSD-current/src/sys/rump/librump/rumpkern/

However, another problem occurs, which seems that I have download an 
out-of-date headers.
And the header file I downloaded does not have the correct definition for 
some strutures.

That is weird.  If you do not have
src-netbsd/sys/rump/librump/rumpkern/rump_curlwp.h after the git
submodule update, something went wrong with that phase.  Maybe it was a
temporary error with github?  Please try the same process again.  In any
case, you should not need to download anything manually.

I just tested, and it works for me:

pooka@watou:~/temp/test$ git clone http://repo.rumpkernel.org/rumprun
Cloning into 'rumprun'...
remote: Counting objects: 13688, done.
remote: Total 13688 (delta 0), reused 0 (delta 0), pack-reused 13688
Receiving objects: 100% (13688/13688), 3.28 MiB | 735.00 KiB/s, done.
Resolving deltas: 100% (8956/8956), done.
Checking connectivity... done.
pooka@watou:~/temp/test$ cd rumprun
pooka@watou:~/temp/test/rumprun$ git submodule update --init
Submodule 'buildrump.sh' (https://github.com/rumpkernel/buildrump.sh)
registered for path 'buildrump.sh'
Submodule 'src-netbsd' (https://github.com/rumpkernel/src-netbsd)
registered for path 'src-netbsd'
Cloning into 'buildrump.sh'...
remote: Counting objects: 4519, done.
remote: Total 4519 (delta 0), reused 0 (delta 0), pack-reused 4519
Receiving objects: 100% (4519/4519), 1.03 MiB | 392.00 KiB/s, done.
Resolving deltas: 100% (2476/2476), done.
Checking connectivity... done.
Submodule path 'buildrump.sh': checked out
'5ac90c1f175befa8e2def83fcae2d515dc3e5d6c'
Cloning into 'src-netbsd'...
remote: Counting objects: 47509, done.
remote: Total 47509 (delta 0), reused 0 (delta 0), pack-reused 47509
Receiving objects: 100% (47509/47509), 77.65 MiB | 840.00 KiB/s, done.
Resolving deltas: 100% (25111/25111), done.
Checking connectivity... done.
Submodule path 'src-netbsd': checked out
'f08dfa4d19f4408a35c34581f126a7c2e009063c'
pooka@watou:~/temp/test/rumprun$ find src-netbsd -name rump_curlwp.h
src-netbsd/sys/rump/librump/rumpkern/rump_curlwp.h
pooka@watou:~/temp/test/rumprun$

After I install the xen-devel.rpm, I pass the xen headers check without 
modifying the
Xen header path in build-rr.sh.
Even after I make sure the existence of the header file rump_curlwp.h,
the building process still goes wrong.
The error is showed as below:

```
--- linux_blkio.d ---
--- dependall-/mnt/dyk/rumprun/src-netbsd/sys/rump ---
--- dependall-libaudio ---
--- dependall-/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux ---
#    create  libsys_linux/linux_blkio.d
CC=/mnt/dyk/rumprun/obj-amd64-xen/rumptools/bin/x86_64--netbsd-gcc 
/mnt/dyk/rumprun/obj-amd64-xen/rumptools/bin/nbmkdep -f linux_blkio.d.tmp  --   
-std=gnu99    -DINET6 
-I/mnt/dyk/rumprun/obj-amd64-xen/buildrump.sh/sys/rump/kern/lib/libsys_linux 
-D__NetBSD__ -Ulinux -U__linux -U__linux__ -U__gnu_linux__ 
--sysroot=/mnt/dyk/rumprun/obj-amd64-xen/buildrump.sh/dest.stage  
-DMAXPHYS=32768 -DCOMPAT_50 -DCOMPAT_60 -DCOMPAT_70 -nostdinc -imacros 
/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux/../../../include/opt/opt_rumpkernel.h
 -imacros /mnt/dyk/rumprun/obj-amd64-xen/rumptools/include/opt_buildrump.h 
-I/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux -I. 
-I/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux/../../../../../common/include
 -I/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux/../../../include 
-I/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux/../../../include/opt
 -I/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux/../../../../arch 
-I/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux/../../../.. 
-DRUMP_CURLWP=RUMP_CURLWP___THREAD -DDIAGNOSTIC -DKTRACE       
/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux/../../../../compat/linux/common/linux_blkio.c
 &&  mv linux_blkio.d.tmp linux_blkio.d
--- dependall-/mnt/dyk/rumprun/src-netbsd/sys/rump ---
dependall ===> /mnt/dyk/rumprun/src-netbsd/sys/rump/dev/lib/libaudio
--- dependall-/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux ---
In file included from ./machine/param.h:11:0,
                 from 
/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux/../../../../sys/param.h:173,
                 from 
/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux/../../../../compat/linux/common/linux_blkio.c:41:
/mnt/dyk/rumprun/src-netbsd/sys/rump/kern/lib/libsys_linux/../../../include/machine/cpu.h:41:25:
 fatal error: rump_curlwp.h: No such file or directory
#include "rump_curlwp.h"
                         ^
compilation terminated.
```

I tried to found the linux_blkio.d file to add the path of rump_curlwp.h,
however it seems that the linux_blkio.d is generated automatically.
And also the path of rump_curlwp.h is not included in the command described 
above.

Other related posts: