On Wed, 20 Apr 2011 10:45:00 +0800, cc wrote:
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;
};
WTF? "incomplete type" really. GCC 3.3 must have been screwed. I was
expecting to see frag or echo as just a stub name we would have to
locate elsewhere.
Thanks.
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
Amos