LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2344|回复: 5

drcom-1.4.4 在内核kernel-2.6.24-r4中编译不通过

[复制链接]
发表于 2008-4-18 22:49:36 | 显示全部楼层 |阅读模式
cd /home/uncompressed/drcom-1.4.4
make

我把过程贴出来

make[1]: Entering directory `/home/uncompressed/drcom-1.4.4/drcomc'
CC drcomc.c
CC ../utils/utils.c
LD drcomc
make[1]: Leaving directory `/home/uncompressed/drcom-1.4.4/drcomc'
make[1]: Entering directory `/home/uncompressed/drcom-1.4.4/drcomd'
CC drcomd.c
CC kmodule.c
CC signal.c
CC dialog.c
CC keepalive.c
CC login.c
CC logout.c
CC md5.c
CC misc.c
CC passwd.c
CC readconf.c
CC watchport.c
CC log.c
LD drcomd
make[1]: Leaving directory `/home/uncompressed/drcom-1.4.4/drcomd'
make[1]: Entering directory `/home/uncompressed/drcom-1.4.4/kmod'
make -C /lib/modules/2.6.24-gentoo-r4/build M=/home/uncompressed/drcom-1.4.4/kmod modules
make[2]: Entering directory `/usr/src/linux-2.6.24-gentoo-r4'
CC [M] /home/uncompressed/drcom-1.4.4/kmod/drcom.o
/home/uncompressed/drcom-1.4.4/kmod/drcom.c: In function ‘sack_adjust’:
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:435: error: implicit declaration of function ‘nf_proto_csum_replace4’
/home/uncompressed/drcom-1.4.4/kmod/drcom.c: In function ‘tcp_sack_adjust’:
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:450: error: implicit declaration of function ‘skb_make_writable’
/home/uncompressed/drcom-1.4.4/kmod/drcom.c: At top level:
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:928: error: variable ‘preroute_hook_ops’ has initializer but incomplete type
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:929: error: unknown field ‘hook’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:929: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:929: warning: (near initialization for ‘preroute_hook_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:930: error: unknown field ‘owner’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:930: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:930: warning: (near initialization for ‘preroute_hook_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:931: error: unknown field ‘pf’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:931: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:931: warning: (near initialization for ‘preroute_hook_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:932: error: unknown field ‘hooknum’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:932: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:932: warning: (near initialization for ‘preroute_hook_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:933: error: unknown field ‘priority’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:933: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:933: warning: (near initialization for ‘preroute_hook_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:936: error: variable ‘postroute_hook_ops’ has initializer but incomplete type
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:937: error: unknown field ‘hook’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:937: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:937: warning: (near initialization for ‘postroute_hook_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:938: error: unknown field ‘owner’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:938: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:938: warning: (near initialization for ‘postroute_hook_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:939: error: unknown field ‘pf’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:939: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:939: warning: (near initialization for ‘postroute_hook_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:940: error: unknown field ‘hooknum’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:940: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:940: warning: (near initialization for ‘postroute_hook_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:941: error: unknown field ‘priority’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:941: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:941: warning: (near initialization for ‘postroute_hook_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c: In function ‘conn_hooks_init’:
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:986: error: implicit declaration of function ‘nf_register_hook’
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1001: error: implicit declaration of function ‘nf_unregister_hook’
/home/uncompressed/drcom-1.4.4/kmod/drcom.c: At top level:
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1143: error: variable ‘conn_so_ops’ has initializer but incomplete type
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1144: error: unknown field ‘pf’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1144: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1144: warning: (near initialization for ‘conn_so_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1145: error: unknown field ‘set_optmin’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1145: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1145: warning: (near initialization for ‘conn_so_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1146: error: unknown field ‘set_optmax’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1146: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1146: warning: (near initialization for ‘conn_so_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1147: error: unknown field ‘set’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1147: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1147: warning: (near initialization for ‘conn_so_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1148: error: unknown field ‘owner’ specified in initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1148: warning: excess elements in struct initializer
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1148: warning: (near initialization for ‘conn_so_ops’)
/home/uncompressed/drcom-1.4.4/kmod/drcom.c: In function ‘init’:
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1159: error: implicit declaration of function ‘nf_register_sockopt’
/home/uncompressed/drcom-1.4.4/kmod/drcom.c: In function ‘fini’:
/home/uncompressed/drcom-1.4.4/kmod/drcom.c:1172: error: implicit declaration of function ‘nf_unregister_sockopt’
make[3]: *** [/home/uncompressed/drcom-1.4.4/kmod/drcom.o] Error 1
make[2]: *** [_module_/home/uncompressed/drcom-1.4.4/kmod] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.24-gentoo-r4'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/uncompressed/drcom-1.4.4/kmod'
make: *** [all] Error 1

内核自己编译的,可能有的地方没有选,可能导致/usr/include/linux里面的某些头文件缺乏,同学在Debian的PC上面内核也是2.6.24,编译drcom-1.4.4通过
这里面问这个问题会比较好,因为大家用的都是Gentoo。首先希望问题能解决,其次授人以鱼不如授人以渔,还望赐教解决问题的过程。
发表于 2008-4-19 08:58:52 | 显示全部楼层
bugs.gentoo.org
回复 支持 反对

使用道具 举报

发表于 2008-4-19 09:48:29 | 显示全部楼层
drcom里面有个readme 你看了吗?
内核得真确的配置,相应的选项得选上了 drcom才能编译通过
仔细看看readme
回复 支持 反对

使用道具 举报

发表于 2008-4-19 10:44:48 | 显示全部楼层
这个跟以前版本变化很大,调用的内核API都变了,不知道能不能使用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-19 12:28:52 | 显示全部楼层
Hi,every body,I found that if"Netfilter" in the kernel been compiled,then this error can be avoided.
Because it have the system call about the "hook" function,and 5 hook function in the netfilter source code file.
回复 支持 反对

使用道具 举报

发表于 2008-10-19 16:18:37 | 显示全部楼层
laoliulaoliu,good job.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表