error to build Genode for Linux

Norman Feske norman.feske at ...1...
Wed Sep 7 16:27:38 CEST 2011

Hello Truong,

> When I tried the tutorial how to build Genode for Linux, I have an
> error :
> In file included
> from /home/lbtruong/genode.11/base-linux/src/base/ipc/
> /home/lbtruong/genode.11/base-linux/src/platform/linux_syscalls.h: In
> function ‘int lx_socketcall(int, long unsigned int*)’:
> /home/lbtruong/genode.11/base-linux/src/platform/linux_syscalls.h:82:
> erreur: ‘__NR_socketcall’ was not declared in this scope

Genode's syscall bindings for Linux include the host-system's Linux
headers containing the syscall opcodes (the definitions are prefixed
with SYS_). Those definitions are mapped to __NR_-prefixed defines in
'/usr/include/bits/syscall.h'. According our you output, so far,
everthing seems to be fine.

On 32-bit Ubuntu Linux, those names are then defined in
'/usr/include/asm/unistd_32.h'. For some reason, this last step seems to
go wrong on your Linux distribution.

Which Linux distribution are you using? Do you have the Linux kernel
headers installed (I assume yes because the compiler does not complain
about missing them)?

You could help to resolve the issue by posting result of a grep for
'__NR_socketcall' in '/usr/include':

  grep -r __NR_socketcall /usr/include

If you see a line containing something like the following

  #define __NR_socketcall 102

Could you please tell us the name of the header file where is definition
is found on your platform?


Dr.-Ing. Norman Feske
Genode Labs ·

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list