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/ipc.cc:21: /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?
Thanks Norman