<div dir="ltr">Package: spl-dkms       <br>Version: 0.6.5.8-2~bpo8+2<br>Severity: normal<br><br>Dear Maintainer,<br>spl-dkms fails to build with grsecurity enabled kernel.<br>Not sure if this is a bug in spl or a grsec feature.<br>The kernel is available from jessie backports:<br><br>dpkg -l | grep grsec<br>ii  gradm2                             3.0~201408301734-1                 amd64        Administration program for the grsecurity2 RBAC based ACL system<br>ii  linux-grsec-base                   10~bpo8+1                          all          Linux image base package, grsec featureset<br>ii  linux-headers-4.7.0-1-common-grsec 4.7.8-1+grsec201610161720+1~bpo8+1 amd64        Common header files for Linux 4.7.0-1-grsec<br>ii  linux-headers-4.7.0-1-grsec-amd64  4.7.8-1+grsec201610161720+1~bpo8+1 amd64        Header files for Linux 4.7.0-1-grsec-amd64<br>ii  linux-image-4.7.0-1-grsec-amd64    4.7.8-1+grsec201610161720+1~bpo8+1 amd64        Linux 4.7 for 64-bit PCs, Grsecurity protection<br>ii  linux-image-grsec-amd64            10~bpo8+1                          amd64        Linux image meta-package, grsec featureset<br><br>uname -a<br>Linux nutch4 4.7.0-1-grsec-amd64 #1 SMP Debian 4.7.8-1+grsec201610161720+1~bpo8+1 (2016-10-20) x86_64 GNU/Linux<br><br>here is the configure output when I manually try to build the spl module:<br><br>dkms install -m spl -v  0.6.5.8<br><br>Running the pre_build script:<br>checking for gawk... gawk<br>checking metadata... META file<br>checking build system type... x86_64-unknown-linux-gnu<br>checking host system type... x86_64-unknown-linux-gnu<br>checking target system type... x86_64-unknown-linux-gnu<br>checking whether to enable maintainer-specific portions of Makefiles... no<br>checking whether make supports nested variables... yes<br>checking for a BSD-compatible install... /usr/bin/install -c<br>checking whether build environment is sane... yes<br>checking for a thread-safe mkdir -p... /bin/mkdir -p<br>checking whether make sets $(MAKE)... yes<br>checking for gcc... gcc <br>checking whether the C compiler works... yes<br>checking for C compiler default output file name... a.out<br>checking for suffix of executables...<br>checking whether we are cross compiling... no<br>checking for suffix of object files... o<br>checking whether we are using the GNU C compiler... yes<br>checking whether gcc accepts -g... yes<br>checking for gcc option to accept ISO C89... none needed<br>checking whether gcc understands -c and -o together... yes<br>checking for style of include used by make... GNU<br>checking dependency style of gcc... gcc3<br>checking how to print strings... printf<br>checking for a sed that does not truncate output... /bin/sed<br>checking for grep that handles long lines and -e... /bin/grep<br>checking for egrep... /bin/grep -E<br>checking for fgrep... /bin/grep -F<br>checking for ld used by gcc... /usr/bin/ld<br>checking if the linker (/usr/bin/ld) is GNU ld... yes<br>checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B<br>checking the name lister (/usr/bin/nm -B) interface... BSD nm<br>checking whether ln -s works... yes<br>checking the maximum length of command line arguments... 1572864<br>checking whether the shell understands some XSI constructs... yes<br>checking whether the shell understands "+="... yes<br>checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop<br>checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop<br>checking for /usr/bin/ld option to reload object files... -r<br>checking for objdump... objdump<br>checking how to recognize dependent libraries... pass_all<br>checking for dlltool... no<br>checking how to associate runtime and link libraries... printf %s\n<br>checking for ar... ar   <br>checking for archiver @FILE support... @<br>checking for strip... strip<br>checking for ranlib... ranlib<br>checking command to parse /usr/bin/nm -B output from gcc object... ok<br>checking for sysroot... no<br>checking for mt... mt   <br>checking if mt is a manifest tool... no<br>checking how to run the C preprocessor... gcc -E<br>checking for ANSI C header files... yes<br>checking for sys/types.h... yes<br>checking for sys/stat.h... yes<br>checking for stdlib.h... yes<br>checking for string.h... yes<br>checking for memory.h... yes<br>checking for strings.h... yes<br>checking for inttypes.h... yes<br>checking for stdint.h... yes<br>checking for unistd.h... yes<br>checking for dlfcn.h... yes<br>checking for objdir... .libs<br>checking if gcc supports -fno-rtti -fno-exceptions... no<br>checking for gcc option to produce PIC... -fPIC -DPIC<br>checking if gcc PIC flag -fPIC -DPIC works... yes<br>checking if gcc static flag -static works... yes<br>checking if gcc supports -c -o file.o... yes<br>checking if gcc supports -c -o file.o... (cached) yes<br>checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes<br>checking whether -lc should be explicitly linked in... no<br>checking dynamic linker characteristics... GNU/Linux ld.so<br>checking how to hardcode library paths into programs... immediate<br>checking whether stripping libraries is possible... yes<br>checking if libtool supports shared libraries... yes<br>checking whether to build shared libraries... yes<br>checking whether to build static libraries... yes<br>checking spl author... OpenZFS on Linux<br>checking spl license... GPL<br>checking linux distribution... debian<br>checking default package type... deb<br>checking whether rpm is available... no<br>checking whether rpmbuild is available... no<br>checking whether spec files are available... yes (rpm/generic/*.<a href="http://spec.in">spec.in</a>)<br>checking whether dpkg is available... yes (1.17.27)<br>checking whether dpkg-buildpackage is available... yes (1.17.27.)<br>checking whether alien is available... no<br>checking spl config... kernel<br>checking kernel source directory... /lib/modules/4.7.0-1-grsec-amd64/source<br>checking kernel build directory... /lib/modules/4.7.0-1-grsec-amd64/build<br>checking kernel source version... 4.7.0-1-grsec-amd64<br>checking kernel file name for module symbols... Module.symvers<br>checking whether debugging is enabled... no<br>checking whether basic kmem accounting is enabled... no<br>checking whether detailed kmem tracking is enabled... no<br>checking whether modules can be built... no<br>                        <br>Building module:        <br>cleaning build area....(bad exit status: 2)<br>make KERNELRELEASE=4.7.0-1-grsec-amd64....(bad exit status: 2)<br>                        <br>Any hint on how to solve that ?<br>                        <br>                        <br>-- System Information:  <br>Debian Release: 8.6     <br>  APT prefers stable    <br>  APT policy: (500, 'stable')<br>Architecture: amd64 (x86_64)<br>                        <br>Kernel: Linux 4.7.0-1-grsec-amd64 (SMP w/2 CPU cores)<br>Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)<br>Shell: /bin/sh linked to /bin/dash<br>Init: sysvinit (via /sbin/init)<br>                        <br>Versions of packages spl-dkms depends on:<br>ii  dkms                  2.2.0.3-2<br>ii  file                  1:5.22+15-2+deb8u2<br>ii  libc6-dev [libc-dev]  2.19-18+deb8u6<br>ii  lsb-release           4.1+Debian13+nmu1<br>                        <br>Versions of packages spl-dkms recommends:<br>ii  spl  0.6.5.8-2~bpo8+2<br>spl-dkms suggests no packages.<br>                        <br>-- no debconf information<br><br></div>