Ubuntu高于8.04版本的源码安装drcom注意点,这里借用别个的,我的早安装好了,为了方便记忆,把别人的copy过来,方便找用源码安装drcom时候,make报错,9.10和10.04都此问题。
/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了