git clone --branch 3.0 https://github.com/google/nsjail.git
And then run 'make' inside nsjail, and I got this error (something to do with kafel, highlighted with red background). Any pointer would be appreciated!
Makefile:60: warning: ignoring prerequisites on suffix rule definition
git submodule update --init
Submodule 'kafel' (https://github.com/google/kafel.git) registered for path 'kafel'
Cloning into '/home/yufeng/git/nsjail/kafel'...
Submodule path 'kafel': checked out '8e69b8efae415cde3debffbb1e379d9e7a16835a'
make -C kafel
make[1]: Entering directory '/home/yufeng/git/nsjail/kafel'
Makefile:27: warning: overriding recipe for target 'test'
build/Makefile.mk:41: warning: ignoring old recipe for target 'test'
make -C src PROJECT_ROOT=../
make[2]: Entering directory '/home/yufeng/git/nsjail/kafel/src'
flex lexer.l
bison parser.y
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o kafel.o kafel.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o context.o context.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o codegen.o codegen.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o expression.o expression.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o includes.o includes.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o policy.o policy.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o range_rules.o range_rules.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o syscall.o syscall.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -Wno-error -c -o lexer.o lexer.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -Wno-error -c -o parser.o parser.c
parser.y: In function ‘kafel_yyerror’:
parser.y:448:5: warning: implicit declaration of function ‘YYUSE’; did you mean ‘YY_USE’? [-Wimplicit-function-declaration]
448 | YYUSE(scanner);
| ^~~~~
| YY_USE
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o syscalls/amd64_syscalls.o syscalls/amd64_syscalls.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o syscalls/i386_syscalls.o syscalls/i386_syscalls.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o syscalls/aarch64_syscalls.o syscalls/aarch64_syscalls.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o syscalls/mipso32_syscalls.o syscalls/mipso32_syscalls.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o syscalls/mips64_syscalls.o syscalls/mips64_syscalls.c
cc -fPIC -fvisibility=hidden -std=gnu11 -I../include -Wall -Wextra -Werror -O2 -c -o syscalls/arm_syscalls.o syscalls/arm_syscalls.c
cc -Wl,-soname,../libkafel.so.1 -shared kafel.o context.o codegen.o expression.o includes.o policy.o range_rules.o syscall.o lexer.o parser.o syscalls/amd64_syscalls.o syscalls/i386_syscalls.o syscalls/aarch64_syscalls.o syscalls/mipso32_syscalls.o syscalls/mips64_syscalls.o syscalls/arm_syscalls.o -o ../libkafel.so
ld -r kafel.o context.o codegen.o expression.o includes.o policy.o range_rules.o syscall.o lexer.o parser.o syscalls/amd64_syscalls.o syscalls/i386_syscalls.o syscalls/aarch64_syscalls.o syscalls/mipso32_syscalls.o syscalls/mips64_syscalls.o syscalls/arm_syscalls.o -o libkafel_r.o
objcopy --localize-hidden libkafel_r.o libkafel.o
rm -f libkafel_r.o
ar rcs ../libkafel.a libkafel.o
rm -f libkafel.o
make[2]: Leaving directory '/home/yufeng/git/nsjail/kafel/src'
make[1]: Leaving directory '/home/yufeng/git/nsjail/kafel'
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 caps.cc -o caps.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 cgroup.cc -o cgroup.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 cgroup2.cc -o cgroup2.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 cmdline.cc -o cmdline.o
protoc --cpp_out=. config.proto
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 config.pb.cc -o config.pb.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 config.cc -o config.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 contain.cc -o contain.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 cpu.cc -o cpu.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 logs.cc -o logs.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 mnt.cc -o mnt.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 net.cc -o net.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 nsjail.cc -o nsjail.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 pid.cc -o pid.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 sandbox.cc -o sandbox.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 subproc.cc -o subproc.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 uts.cc -o uts.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 user.cc -o user.o
g++ -O2 -c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -fPIE -Wformat -Wformat-security -Wno-format-nonliteral -Wall -Wextra -Werror -Ikafel/include -pthread -std=c++11 -fno-exceptions -Wno-unused -Wno-unused-parameter -I/usr/include/libnl3 util.cc -o util.o
g++ -o nsjail caps.o cgroup.o cgroup2.o cmdline.o config.o contain.o cpu.o logs.o mnt.o net.o nsjail.o pid.o sandbox.o subproc.o uts.o user.o util.o config.pb.o kafel/libkafel.a -pie -Wl,-z,noexecstack -lpthread -lprotobuf -lnl-route-3 -lnl-3
/usr/bin/ld: kafel/libkafel.a(libkafel.o): in function `kafel_yyerror':
arm_syscalls.c:(.text+0x6653): undefined reference to `YYUSE'
collect2: error: ld returned 1 exit status
make: *** [Makefile:70: nsjail] Error 1