Um 19:28 Uhr am 19.10.20 schrieb Sven Hartge:
> What?!
>
> I tested with debsums -c and even reinstalled
> linux-headers-5.9.0-1-common, comparing the before and after, nothing
> broken, nothing missing.
Scratch that last part. Because make did run correctly during
gen_compat_def it wasn't recompiling the test code outside of it because
of the timestamp. Removing "-s" and adding "-B" to make make more
talkative and force it to compile stuff helps.
But: Then the problem disappears:
Working system:
---------8<-----------
# make -B -C /lib/modules/5.9.0-1-amd64/build
M=/var/lib/dkms/ipt-netflow/2.5.1/source/cc-test-build modules
make: Entering directory '/usr/src/linux-headers-5.9.0-1-amd64'
CC [M] /var/lib/dkms/ipt-netflow/2.5.1/source/cc-test-build/test.o
/var/lib/dkms/ipt-netflow/2.5.1/source/cc-test-build/test.c:4:16: error:
storage size of 'test' isn't known
4 | struct timeval test;
| ^~~~
make[2]: *** [/usr/src/linux-headers-5.9.0-1-common/scripts/Makefile.build:288:
/var/lib/dkms/ipt-netflow/2.5.1/source/cc-test-build/test.o] Error 1
make[1]: *** [/usr/src/linux-headers-5.9.0-1-common/Makefile:1796:
/var/lib/dkms/ipt-netflow/2.5.1/source/cc-test-build] Error 2
make: *** [/usr/src/linux-headers-5.9.0-1-common/Makefile:185: __sub-make]
Error 2
make: Leaving directory '/usr/src/linux-headers-5.9.0-1-amd64'
---------8<-----------
Broken system:
---------8<-----------
# make -B -C /lib/modules/5.9.0-1-amd64/build
M=/var/lib/dkms/ipt-netflow/2.5.1/source/cc-test-build modules
make: Entering directory '/usr/src/linux-headers-5.9.0-1-amd64'
CC [M] /var/lib/dkms/ipt-netflow/2.5.1/source/cc-test-build/test.o
/var/lib/dkms/ipt-netflow/2.5.1/source/cc-test-build/test.c:4:16: error:
storage size of 'test' isn't known
4 | struct timeval test;
| ^~~~
make[2]: *** [/usr/src/linux-headers-5.9.0-1-common/scripts/Makefile.build:288:
/var/lib/dkms/ipt-netflow/2.5.1/source/cc-test-build/test.o] Error 1
make[1]: *** [/usr/src/linux-headers-5.9.0-1-common/Makefile:1796:
/var/lib/dkms/ipt-netflow/2.5.1/source/cc-test-build] Error 2
make: *** [/usr/src/linux-headers-5.9.0-1-common/Makefile:185: __sub-make]
Error 2
make: Leaving directory '/usr/src/linux-headers-5.9.0-1-amd64'
---------8<-----------
Why is compiling the test code inside gen_compat_def behaving differently
than outside of it?
I have already compared the environment variables and cannot find anything
relevant. There are no strange LD_* or CLFAGS set globally, no distcc or
ccache remnants.
My brain hurts.
Grüße,
Sven.