On 03/20/2011 03:23 AM, [email protected] wrote:
/home/zs/xorp# scons
scons: `obj/i686-pc-linux-gnu/etc/templates/fea.tp' is up to date.
scons: `obj/i686-pc-linux-gnu/fea/data_plane/ifconfig/libxorp_fea_ifconfig.so' 
is up to date.
scons: 
`obj/i686-pc-linux-gnu/fea/data_plane/fibconfig/libxorp_fea_fibconfig.so' is up 
to date.
scons: `obj/i686-pc-linux-gnu/fea/data_plane/io/libxorp_fea_io.so' is up to 
date.
scons: 
`obj/i686-pc-linux-gnu/fea/data_plane/control_socket/libxorp_fea_control_socket.so'
 is up to date.
scons: 
`obj/i686-pc-linux-gnu/fea/data_plane/managers/libxorp_fea_data_plane_managers.so'
 is up to date.
g++ -o obj/i686-pc-linux-gnu/fea/data_plane/firewall/firewall_get_netfilter.os 
-c -O1 -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith
-Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -pipe -fPIC -DXRL_PF=120 
-D_FORTIFY_SOURCE=0 -Iobj/i686-pc-linux-gnu -I. -I.
fea/data_plane/firewall/firewall_get_netfilter.cc
In file included from fea/data_plane/firewall/firewall_get_netfilter.cc:51:
/usr/include/linux/netfilter_ipv4/ip_tables.h: In function ?xt_entry_target* 
ipt_get_target(ipt_entry*)?
/usr/include/linux/netfilter_ipv4/ip_tables.h:221: error: pointer of type ?void 
*?used in arithmetic
/usr/include/linux/netfilter_ipv4/ip_tables.h:221: error: invalid conversion 
from ?void*?to ?xt_entry_target*?

You probably need to edit your ip_tables.h file.  Scons should have refused to
try compiling the firewall, but maybe that logic is broken on your system.

                print "\nWARNING: Netfilter include files are broken or do not 
exist."
                print "  This means the Linux firewall support will not be compiled 
in."
                print "  To fix, you may edit: 
/usr/include/linux/netfilter_ipv4/ip_tables.h"
                print "  line 222 or so, to look like this:"
                print "  /* Helper functions */"
                print "  static __inline__ struct ipt_entry_target *"
                print "  ipt_get_target(struct ipt_entry *e)"
                print "{"
                print "        /* BEN:  Was void* */"
                print "        return (struct ipt_entry_target *)((char*)e + 
e->target_offset);"
                print "}"
                print "\nYou will also want to edit similar code around line 282 
of:"
                print "/usr/include/linux/netfilter_ipv6/ip6_tables.h"

Thanks,
Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com

_______________________________________________
Xorp-hackers mailing list
[email protected]
http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers

Reply via email to