Amos Jeffries wrote: > On Wed, 20 Apr 2011 09:33:50 +0800, cc wrote: >> Amos Jeffries wrote: >>> I mean some file which needs to be found and used. But we the dev (and >>> thus ./configure which we write) do not know about. >>> >>> Can you please supply the output of: >>> grep -R "struct icmphdr" /usr/include/ >>> >>> (/usr/include/ being the usual location for system header files. If >>> Slackware uses a different directory please grep that other place). >>> >>> "struct icmphdr" should be defined in one of the netinet/ files. We need >>> to start with figuring out which. >> >> /usr/include/linux/skbuff.h: struct icmphdr *icmph; >> /usr/include/linux/netfilter_ipv4/ipchains_core.h: struct >> icmphdr fwp_icmph; /* ICMP header */ >> /usr/include/linux/netfilter_ipv4/ipfwadm_core.h: struct >> icmphdr fwp_icmph; /* ICMP header */ >> /usr/include/linux/icmp.h:struct icmphdr { >> /usr/include/netinet/ip_icmp.h:struct icmphdr >> >> That's all I have. > > Great. So /usr/include/netinet/ip_icmp.h is right. What does it define > "struct icmphdr" as? I found the following in /usr/include/netinet/ip_icmp.h: struct icmphdr { u_int8_t type; /* message type */ u_int8_t code; /* type sub-code */ u_int16_t checksum; union { struct { u_int16_t id; u_int16_t sequence; } echo; /* echo datagram */ u_int32_t gateway; /* gateway address */ struct { u_int16_t __unused; u_int16_t mtu; } frag; /* path mtu discovery */ } un; }; > >> >> As for GCC 4.x, I might need a bit more time. > > No worries. I just upgraded to 4.4.x. Thought it would be a hairy process but it was simple. Ed