kafel YYUSE error - Debian bullseye-slim

76 views
Skip to first unread message

Yufeng Xiong

unread,
Nov 3, 2021, 4:02:18 PM11/3/21
to nsjail
On a Docker container that is based on Debian bullseye-slim base image, I cloned the nsjail 3.0 branch with this:

  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


Yufeng Xiong

unread,
Nov 3, 2021, 4:17:15 PM11/3/21
to nsjail
Also note if I clone from master "git clone https://github.com/google/nsjail.git" instead of the branch then there is no problem.
Reply all
Reply to author
Forward
0 new messages