[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