Bug#972455: Does not compile for Linux 5.9
Control: severity -1 normal Hi Sven, Sven Hartge wrote: > > That's strange. Works fine for me. Tested on sid amd64 as well: > > I tested this on a different system with 5.9 and got the same result and > identical make.log. > > But, and here it becomes strange: It does work on a third system of mine. Okay... > Question now is: What is different and/or broken on the first two > systems? Exactly. > It seems there are some old or broken header files floating around. In that case, you might want to run "debsums -c" on the according packages, especially on linux-headers-5.9.0-1-amd64 and linux-headers-5.9.0-1-common. Had similar compile time issues with some packages in the past where I seem to have had a crash while updating or removing packages years ago and they were shown as uninstalled, but after fsck, some file seem to have reappeared and caused weird issues. > It does not. The second system was rebooted to 5.9. Ok. > > > Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE > > > > That's is likely because of the unsigned out-of-tree ipt_NETFLOW. :-) > > Yes, also wireguard (needed in 5.2) and some xtables-addons. But this does > not matter for compiling the module. I think so, too. Just didn't want to leave it out. > > This all looks a lot like https://github.com/aabc/ipt-netflow/issues/152 > > Yes. Interesting. > > But, see above, I seem to have contaminated systems. Either that or some relevant differences we haven't recognised yet. > You can reduce the severity to minor for now. As soon as I find how > in what way two of my systems differ and why, I will update (and > quite possibly close) the bug. I've set it to normal for now. If you have two systems, that's a bit more suspicious than just one system. Then again, kernel headers actually "should" be the only thing that matters. (And having an uptodate system, but this seems to be the case with both you and me. :-) Will also try on more of my sid systems. Regards, Axel -- ,''`. | Axel Beckert , https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Processed: Re: Bug#972455: Does not compile for Linux 5.9
Processing control commands: > severity -1 normal Bug #972455 [iptables-netflow-dkms] Does not compile for Linux 5.9 Severity set to 'normal' from 'grave' -- 972455: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972455 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#972455: Does not compile for Linux 5.9
On 18.10.20 22:50, Axel Beckert wrote: That's strange. Works fine for me. Tested on sid amd64 as well: I tested this on a different system with 5.9 and got the same result and identical make.log. But, and here it becomes strange: It does work on a third system of mine. Question now is: What is different and/or broken on the first two systems? It seems there are some old or broken header files floating around. Kernel: Linux 5.2.0-3-amd64 (SMP w/4 CPU threads) As with your setup, I haven't rebooted into it yet. Kernel 5.7.0-2-amd64 running here, though, but that _should_ not make a difference. (That was the kernel which needed that other fix in that upload as it still needs to be compiled with gcc-9.) It does not. The second system was rebooted to 5.9. Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE That's is likely because of the unsigned out-of-tree ipt_NETFLOW. :-) Yes, also wireguard (needed in 5.2) and some xtables-addons. But this does not matter for compiling the module. This all looks a lot like https://github.com/aabc/ipt-netflow/issues/152 Yes. Interesting. But, see above, I seem to have contaminated systems. Something strange is going on. You can reduce the severity to minor for now. As soon as I find how in what way two of my systems differ and why, I will update (and quite possibly close) the bug. Grüße, Sven.
Processed: Re: Bug#972455: Does not compile for Linux 5.9
Processing control commands: > tag -1 unreproducible moreinfo Bug #972455 [iptables-netflow-dkms] Does not compile for Linux 5.9 Added tag(s) moreinfo and unreproducible. -- 972455: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972455 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#972455: Does not compile for Linux 5.9
Control: tag -1 unreproducible moreinfo Hi Sven, Sven Hartge wrote: > It seems adfc6318 was not enough to be compatible with Linux 5.9, as > compilation breaks for me with the following log: That's strange. Works fine for me. Tested on sid amd64 as well: ---8<--- Building initial module for 5.9.0-1-amd64 Done. ipt_NETFLOW.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/5.9.0-1-amd64/updates/dkms/ depmod... DKMS: install completed. --->8--- > ./gen_compat_def > compat_def.h > Test symbol xt_family linux/netfilter_ipv4/ip_tables.h Hmmm, I wonder if it makes a difference if /usr/sbin/iptables respectively /etc/alternatives/iptables points to iptables-nft or iptables-legacy. … Nope, still works for me. So lets try to figure out what else could be different: > Compiling for kernel 5.9.1 > make -C /lib/modules/5.9.0-1-amd64/build > M=/var/lib/dkms/ipt-netflow/2.5.1/build modules CONFIG_DEBUG_INFO=y Kernel 5.9.0-1-amd64 is also installed and with headers. > Debian Release: bullseye/sid Same. > APT prefers unstable-debug > APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, > 'unstable'), (500, 'testing'), (200, 'experimental'), (1, > 'experimental-debug') More or less the same. > Architecture: amd64 (x86_64) > Foreign Architectures: i386 Same. > Kernel: Linux 5.2.0-3-amd64 (SMP w/4 CPU threads) As with your setup, I haven't rebooted into it yet. Kernel 5.7.0-2-amd64 running here, though, but that _should_ not make a difference. (That was the kernel which needed that other fix in that upload as it still needs to be compiled with gcc-9.) > Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE That's is likely because of the unsigned out-of-tree ipt_NETFLOW. :-) > Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE not set Locales shouldn't make a difference. LANG=C.UTF-8 here, though. > Shell: /bin/sh linked to /bin/dash Same here > Init: systemd (via /run/systemd/system) sysvinit here, but really shouldn't make a difference. > Versions of packages iptables-netflow-dkms depends on: > ii dkms2.8.3-4 > ii libc6 2.31-4 > ii libc6-dev 2.31-4 > ii libxtables-dev 1.8.5-3 > ii pkg-config 0.29.2-1 > > Versions of packages iptables-netflow-dkms recommends: > ii iptables 1.8.5-3 Same here. > make[1]: Entering directory '/usr/src/linux-headers-5.9.0-1-amd64' > CC [M] /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.o > In file included from /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:76: > /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:709:43: warning: ‘struct > timeval’ declared inside parameter list will not be visible outside of this > definition or declaration > 709 | static inline void do_gettimeofday(struct timeval *tv) > | ^~~ > /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h: In function ‘do_gettimeofday’: > /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:713:4: error: invalid use of > undefined type ‘struct timeval’ > 713 | tv->tv_sec = ts64.tv_sec; > |^~ > /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:714:4: error: invalid use of > undefined type ‘struct timeval’ > 714 | tv->tv_usec = ts64.tv_nsec/1000; > |^~ > /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function > ‘nf_seq_show’: > /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:755:39: warning: format > ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type > ‘s64’ {aka ‘long long int’} [-Wformat=] > 755 |seq_printf(seq, " Flows selected %lu, discarded %lu.", > | ~~^ > | | > | long unsigned int > | %llu > /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:755:54: warning: format > ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type > ‘s64’ {aka ‘long long int’} [-Wformat=] > 755 |seq_printf(seq, " Flows selected %lu, discarded %lu.", > |~~^ > | | > | long unsigned int > |%llu > /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:759:39: warning: format > ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type > ‘s64’ {aka ‘long long int’} [-Wformat=] > 759 |seq_printf(seq, " Flows selected %lu.", > atomic64_read(_selected)); > | ~~^ > | | > | long unsigned int > | %llu >
Bug#972455: Does not compile for Linux 5.9
Package: iptables-netflow-dkms Version: 2.5.1-1 Severity: grave Hi! It seems adfc6318 was not enough to be compatible with Linux 5.9, as compilation breaks for me with the following log: ---8<-- DKMS make.log for ipt-netflow-2.5.1 for kernel 5.9.0-1-amd64 (x86_64) Sun 18 Oct 2020 08:10:48 PM CEST ./gen_compat_def > compat_def.h Test symbol xt_family linux/netfilter_ipv4/ip_tables.h Test struct timeval linux/ktime.h Test struct proc_ops linux/proc_fs.h Test symbol synchronize_sched linux/rcupdate.h Compiling for kernel 5.9.1 make -C /lib/modules/5.9.0-1-amd64/build M=/var/lib/dkms/ipt-netflow/2.5.1/build modules CONFIG_DEBUG_INFO=y make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. make[1]: Entering directory '/usr/src/linux-headers-5.9.0-1-amd64' CC [M] /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.o In file included from /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:76: /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:709:43: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration 709 | static inline void do_gettimeofday(struct timeval *tv) | ^~~ /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h: In function ‘do_gettimeofday’: /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:713:4: error: invalid use of undefined type ‘struct timeval’ 713 | tv->tv_sec = ts64.tv_sec; |^~ /var/lib/dkms/ipt-netflow/2.5.1/build/compat.h:714:4: error: invalid use of undefined type ‘struct timeval’ 714 | tv->tv_usec = ts64.tv_nsec/1000; |^~ /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function ‘nf_seq_show’: /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:755:39: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘s64’ {aka ‘long long int’} [-Wformat=] 755 |seq_printf(seq, " Flows selected %lu, discarded %lu.", | ~~^ | | | long unsigned int | %llu /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:755:54: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘s64’ {aka ‘long long int’} [-Wformat=] 755 |seq_printf(seq, " Flows selected %lu, discarded %lu.", |~~^ | | | long unsigned int |%llu /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:759:39: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘s64’ {aka ‘long long int’} [-Wformat=] 759 |seq_printf(seq, " Flows selected %lu.", atomic64_read(_selected)); | ~~^ | | | long unsigned int | %llu /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function ‘netflow_export_pdu_v5’: /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2652:17: error: storage size of ‘tv’ isn’t known 2652 | struct timeval tv; | ^~ /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2652:17: warning: unused variable ‘tv’ [-Wunused-variable] /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function ‘netflow_export_pdu_v9’: /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2736:17: error: storage size of ‘tv’ isn’t known 2736 | struct timeval tv; | ^~ /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2736:17: warning: unused variable ‘tv’ [-Wunused-variable] /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function ‘netflow_export_pdu_ipfix’: /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2770:17: error: storage size of ‘tv’ isn’t known 2770 | struct timeval tv; | ^~ /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:2770:17: warning: unused variable ‘tv’ [-Wunused-variable] /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c: In function ‘timeout_rate_j’: /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:3677:10: error: variable ‘tv’ has initializer but incomplete type 3677 | struct timeval tv = { .tv_sec = timeout_rate * 60, .tv_usec = 0 }; | ^~~ /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:3677:26: error: ‘struct timeval’ has no member named ‘tv_sec’ 3677 | struct timeval tv = { .tv_sec = timeout_rate * 60, .tv_usec = 0 }; | ^~ /var/lib/dkms/ipt-netflow/2.5.1/build/ipt_NETFLOW.c:3677:35: warning: excess elements in struct initializer 3677 | struct timeval tv = { .tv_sec = timeout_rate *