Ubuntu下用源码安装drcom时候,make报错。
/tmp/drcom/drcom.c: In function ‘build_ack_skb’:
/tmp/drcom/drcom.c:686: error: ‘struct sk_buff’ has no member named ‘dst’
/tmp/drcom/drcom.c: In function ‘build_auth_skb’:
/tmp/drcom/drcom.c:723: error: ‘struct sk_buff’ has no member named ‘dst’
make[3]: *** [/tmp/drcom/drcom.o] Error 1
make[2]: *** [_module_/tmp/drcom] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.32-14-generic’
make[1]: *** [default] Error 2
make[1]: Leaving directory `/tmp/drcom’
Compile drcom kernel module failed!
解决方案:
编辑/kmod/drcom.c
查找__ip_select_ident(iph, skb->dst, 0);
改为 __ip_select_ident(iph, skb_dst(skb), 0);
Tip:一共有两处需要修改,建议额外安装dkms软件包,sudo apt-get install dkms,这样就不用每次更新内核后再手动编译drcom了。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。