Until recently, it wasn’t possible to successfully build tcng on Debian. I managed to do it by compiling tcsim.c by hand when it failed, but my fix only got it to finish compiling and it was still broken.
In any event, if you’re getting this error, Nuutti Kotivuori posted a solution on LARTC.
In file included from /usr/include/bits/sigcontext.h:28,
from /usr/include/signal.h:326,
from tcsim.c:15:
/usr/include/asm/sigcontext.h:79: error: parse error before '*' token
/usr/include/asm/sigcontext.h:82: error: parse error before '}' token
make[2]: *** [tcsim.o] Error 1
make[2]: Leaving directory `/tmp/tcng/tcsim'
make[1]: *** [tcsim] Error 2
make[1]: Leaving directory `/tmp/tcng/tcsim'
make: *** [all] Error 1
As suggested, add #define __user and #define __kernel below. The file only exists after you have run through make and it fails.
faith:~$ cat ~/tcng/tcsim/klib/include/linux/compiler.h #ifndef __LINUX_COMPILER_H #define __LINUX_COMPILER_H #define __user #define __kernel
Now you can resume your make without further incident. When its done, run make test to ensure everything is functional. tcsim will now work correctly.