[Xorp-hackers] xorp1.8.3 build error on debian 5, but xorp1.8.2 build pass on my computer

Ben Greear greearb at candelatech.com
Sun Mar 20 08:52:10 PDT 2011


On 03/20/2011 03:23 AM, wxh585 at 126.com 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 <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com



More information about the Xorp-hackers mailing list