无法使用较新的内核版本编译C模块

时间:2019-07-27 08:19:03

标签: c linux-kernel kernel linux-device-driver kernel-module

我正在尝试编译iptables-module项目中的IPTV-Analyzer,但是在使用新的内核版本4.9(Raspberry PI 4)进行编译时遇到了麻烦。没有C代码的概念,我很难调试。

在编译过程中出现以下问题:

root@raspberry:/home/pi/IPTV-Analyzer# make
make  all-recursive
make[1] : on entre dans le répertoire « /home/pi/IPTV-Analyzer »
Making all in iptables-module
make[2] : on entre dans le répertoire « /home/pi/IPTV-Analyzer/iptables-module »

  -=-=-=-=- Userspace lib -=-=-=-=-
gcc -DIPTABLES_VERSION=\"1.6.0\" -O2 -ggdb3 -Wall -fPIC -I/usr/include -D_INIT=libxt_mpeg2ts_init -c -o libxt_mpeg2ts.o libxt_mpeg2ts.c;
gcc -shared -o libxt_mpeg2ts.so libxt_mpeg2ts.o;

  -=-=-=-=- Kernel modules -=-=-=-=-
make -C /lib/modules/4.9.0-9-amd64/build M=/home/pi/IPTV-Analyzer/iptables-module modules
make[3] : on entre dans le répertoire « /usr/src/linux-headers-4.9.0-9-amd64 »
  CC [M]  /home/pi/IPTV-Analyzer/iptables-module/xt_mpeg2ts.o
/home/pi/IPTV-Analyzer/iptables-module/xt_mpeg2ts.c: In function ‘mpeg2ts_seq_show_real’:
/home/pi/IPTV-Analyzer/iptables-module/xt_mpeg2ts.c:1309:6: error: void value not ignored as it ought to be
  res = seq_printf(s, "bucket:%d dst:%pI4 src:%pI4 dport:%u sport:%u "
      ^
At top level:
/home/pi/IPTV-Analyzer/iptables-module/xt_mpeg2ts.c:864:1: warning: ‘conn_htable_add’ defined but not used [-Wunused-function]
 conn_htable_add(struct xt_rule_mpeg2ts_conn_htable *hinfo)
 ^~~~~~~~~~~~~~~
/home/pi/IPTV-Analyzer/iptables-module/xt_mpeg2ts.c:852:1: warning: ‘conn_htable_put’ defined but not used [-Wunused-function]
 conn_htable_put(struct xt_rule_mpeg2ts_conn_htable *hinfo)
 ^~~~~~~~~~~~~~~
/home/pi/IPTV-Analyzer/iptables-module/xt_mpeg2ts.c:835:1: warning: ‘conn_htable_get’ defined but not used [-Wunused-function]
 conn_htable_get(uint32_t rule_id)
 ^~~~~~~~~~~~~~~
/usr/src/linux-headers-4.9.0-9-common/scripts/Makefile.build:315 : la recette pour la cible « /home/pi/IPTV-Analyzer/iptables-module/xt_mpeg2ts.o » a échouée
make[6]: *** [/home/pi/IPTV-Analyzer/iptables-module/xt_mpeg2ts.o] Erreur 1
/usr/src/linux-headers-4.9.0-9-common/Makefile:1544 : la recette pour la cible « _module_/home/pi/IPTV-Analyzer/iptables-module » a échouée
make[5]: *** [_module_/home/pi/IPTV-Analyzer/iptables-module] Erreur 2
Makefile:152 : la recette pour la cible « sub-make » a échouée
make[4]: *** [sub-make] Erreur 2
Makefile:8 : la recette pour la cible « all » a échouée
make[3]: *** [all] Erreur 2
make[3] : on quitte le répertoire « /usr/src/linux-headers-4.9.0-9-amd64 »
Makefile:97 : la recette pour la cible « modules » a échouée
make[2]: *** [modules] Erreur 2
rm libxt_mpeg2ts.o
make[2] : on quitte le répertoire « /home/pi/IPTV-Analyzer/iptables-module »
Makefile:395 : la recette pour la cible « all-recursive » a échouée
make[1]: *** [all-recursive] Erreur 1
make[1] : on quitte le répertoire « /home/pi/IPTV-Analyzer »
Makefile:330 : la recette pour la cible « all » a échouée
make: *** [all] Erreur 2

我向您保证这个项目有些陈旧,但我认为它仍然可能。

0 个答案:

没有答案