Re: Patch to latest iproute to get it to compile on FC5
Here's another try at the patch to make the __constant_htonl methods be included, but without changing any of the .h files. I tested this on an FC2 system, and it compiles fine. Interesting to me, it seems you are not supposed to #include directly, but when I tried the suggested , it didn't actually fix the problem. Signed-off-by: Ben Greear <[EMAIL PROTECTED]> -- Ben Greear <[EMAIL PROTECTED]> Candela Technologies Inc http://www.candelatech.com diff --git a/ip/iptunnel.c b/ip/iptunnel.c index 3b466bf..2b2b78e 100644 --- a/ip/iptunnel.c +++ b/ip/iptunnel.c @@ -34,6 +34,7 @@ #include "ip_common.h" #include "tunnel.h" +#include static void usage(void) __attribute__((noreturn)); static void usage(void)
Re: Patch to latest iproute to get it to compile on FC5
Stephen Hemminger wrote: On Wed, 13 Feb 2008 11:32:32 -0800 Ben Greear <[EMAIL PROTECTED]> wrote: I notice that the latest snapshot and git repository for iproute will not compile on FC5 due to not finding __constant_hton* symbols and a lack of the hdlc/ioctl.h file on FC5. I am attaching a patch that appears to fix the problems for me. Please consider applying this or something similar. Signed-off-by: Ben Greear <[EMAIL PROTECTED]> Thanks, Ben I added include/linux/hdlc/ioctl.h to the santized headers in the current git. That seems to fix the hdlc issue, but it still will not link due to missing symbols: gcc -Wl,-export-dynamic ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o rtm_map.o iptunnel.o ip6tunnel.o tunnel.o ipneigh.o ipntable.o iplink.o ipmaddr.o ipmonitor.o ipmroute.o ipprefix.o ipxfrm.o xfrm_state.o xfrm_policy.o xfrm_monitor.o iplink_vlan.o link_veth.o ../lib/libnetlink.a ../lib/libutil.a -lresolv -L../lib -lnetlink -lutil -ldl -o ip iptunnel.o: In function `parse_args': iptunnel.c:(.text+0x2c6): undefined reference to `__constant_htons' iptunnel.c:(.text+0x404): undefined reference to `__constant_htons' iptunnel.c:(.text+0x48d): undefined reference to `__constant_htons' iptunnel.c:(.text+0x4a6): undefined reference to `__constant_htons' iptunnel.c:(.text+0x4e2): undefined reference to `__constant_htons' iptunnel.o:iptunnel.c:(.text+0x4fb): more undefined references to `__constant_htons' follow collect2: ld returned 1 exit status make[1]: *** [ip] Error 1 make[1]: Leaving directory `/root/iproute2/ip' make: *** [all] Error 2 The attached patch fixes this. Thanks, Ben -- Ben Greear <[EMAIL PROTECTED]> Candela Technologies Inc http://www.candelatech.com diff --git a/include/linux/if_tunnel.h b/include/linux/if_tunnel.h index 228eb4e..0eb5b04 100644 --- a/include/linux/if_tunnel.h +++ b/include/linux/if_tunnel.h @@ -2,6 +2,7 @@ #define _IF_TUNNEL_H_ #include +#include #define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0) #define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1)
Re: Patch to latest iproute to get it to compile on FC5
On Wed, 13 Feb 2008 11:32:32 -0800 Ben Greear <[EMAIL PROTECTED]> wrote: > I notice that the latest snapshot and git repository for iproute > will not compile on FC5 due to not finding __constant_hton* symbols > and a lack of the hdlc/ioctl.h file on FC5. > > I am attaching a patch that appears to fix the problems for me. > > Please consider applying this or something similar. > > Signed-off-by: Ben Greear <[EMAIL PROTECTED]> > > > Thanks, > Ben > I added include/linux/hdlc/ioctl.h to the santized headers in the current git. -- Stephen Hemminger <[EMAIL PROTECTED]> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Patch to latest iproute to get it to compile on FC5
On Wed, 13 Feb 2008 11:32:32 -0800 Ben Greear <[EMAIL PROTECTED]> wrote: > I notice that the latest snapshot and git repository for iproute > will not compile on FC5 due to not finding __constant_hton* symbols > and a lack of the hdlc/ioctl.h file on FC5. > > I am attaching a patch that appears to fix the problems for me. > > Please consider applying this or something similar. > > Signed-off-by: Ben Greear <[EMAIL PROTECTED]> > > > Thanks, > Ben > No. please don't change the configure script. And the linux/if.h comes from kernel stripped headers so it should not get crufted up by ifdef's. Short term fix is to include stripped hdlc header if needed. Long fix is to get rid of hdlc dependency if possible. -- Stephen Hemminger <[EMAIL PROTECTED]> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch to latest iproute to get it to compile on FC5
I notice that the latest snapshot and git repository for iproute will not compile on FC5 due to not finding __constant_hton* symbols and a lack of the hdlc/ioctl.h file on FC5. I am attaching a patch that appears to fix the problems for me. Please consider applying this or something similar. Signed-off-by: Ben Greear <[EMAIL PROTECTED]> Thanks, Ben -- Ben Greear <[EMAIL PROTECTED]> Candela Technologies Inc http://www.candelatech.com diff --git a/configure b/configure index dc14e54..f28e4cf 100755 --- a/configure +++ b/configure @@ -25,3 +25,22 @@ else echo no fi rm -f /tmp/atmtest.c /tmp/atmtest + +echo -n "HDLC IOCTL: " +cat >/tmp/hdlctest.c < +#include +int main(int argc, char **argv) { +return 0; +} +EOF +gcc -I$INCLUDE -o /tmp/hdlctest /tmp/hdlctest.c >/dev/null 2>&1 +if [ $? -eq 0 ] +then +echo "IPROUTE_CONFIG_HDLC:=y" >>Config +echo yes +else +echo no +fi +rm -f /tmp/hdlctest.c /tmp/hdlctest + diff --git a/include/linux/if.h b/include/linux/if.h index 40eb61f..9651cc9 100644 --- a/include/linux/if.h +++ b/include/linux/if.h @@ -23,7 +23,10 @@ #include /* for "struct sockaddr" et al */ #define IFNAMSIZ 16 + +#ifdef HAVE_HDLC_IOCTL #include +#endif /* Standard interface flags (netdevice->flags). */ #define IFF_UP 0x1 /* interface is up */ @@ -133,6 +136,7 @@ struct if_settings { unsigned int type; /* Type of physical device or protocol */ unsigned int size; /* Size of the data allocated by the caller */ +#ifdef HAVE_HDLC_IOCTL union { /* {atm/eth/dsl}_settings anyone ? */ raw_hdlc_proto *raw_hdlc; @@ -145,6 +149,7 @@ struct if_settings sync_serial_settings *sync; te1_settings *te1; } ifs_ifsu; +#endif }; /* diff --git a/include/linux/if_tunnel.h b/include/linux/if_tunnel.h index 228eb4e..0eb5b04 100644 --- a/include/linux/if_tunnel.h +++ b/include/linux/if_tunnel.h @@ -2,6 +2,7 @@ #define _IF_TUNNEL_H_ #include +#include #define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0) #define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1) diff --git a/lib/Makefile b/lib/Makefile index bc270bf..1c51a42 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -1,3 +1,9 @@ +include ../Config + +ifeq ($(IPROUTE_CONFIG_HDLC),y) + CFLAGS += -DHAVE_HDLC_IOCTL +endif + UTILOBJ=utils.o rt_names.o ll_types.o ll_proto.o ll_addr.o inet_proto.o