Sounds like you've got a defective sctp.h -- Luca added this back at the end of May.
1. Check config.log and see what messages appear in the tests for sctp.h > | A quick fix is to change "#include <sys/types.h>" to "#include > | <linux/types.h>" in ntop.h. sctp.h itself includes <linux/types.h> so > | it normally shouldn't be necessary. I think the problem is how/in what > | order ntop.h includes its header files. So I don't think it's a bug in > | sctp.h and I will close this bug now. But I'll take a closer look when > | I have more time. Is BOGUS. The whole idea behind the sys/ linux/ bits/ asm/ etc. split is that you can use sys/xxxx and not worry about what the underlying packaging is. The sys/ member is supposed to take care of it. Most of the includes use #define constants to protect themselves against double/out of order includes. For example, here's the beginning of my sys/types.h: #ifndef _SYS_TYPES_H #define _SYS_TYPES_H 1 #include <features.h> __BEGIN_DECLS #include <bits/types.h> ... __END_DECLS #endif /* sys/types.h */ See how if it's already defined it doesn't redefine? And how it includes the lower level types?? Looking at bits/types.h it does the same thing: #ifndef _BITS_TYPES_H #define _BITS_TYPES_H 1 #include <features.h> ... #endif /* bits/types.h */ So if I manually include features.h, no worries. If I manually include bits/types.h again no worries. And if I properly include sys/types.h, it all works fine. The linux/ set represent linux internals, stuff you shouldn't need unless you need them (how's that for self referential logic?). And again, if you do, they're supposed to be automatically included (look at sys/sysctl.h for example). 2. These problems aren't uncommon - and most of the time get blown off and never get fixed. Instead they pass into the folklore - "you have to include x before y". You can fix these problems by 'fixing' the ordering in ntop.h to match the sequence of the ./configure tests (what's built up in confdefs.h). Unfortunately, confdefs.h gets erased at the end of ./configure. You can remove the rm by editing configure: grep --line-number confdefs\.h configure | grep rm should find it. Or you can watch the ./configure run and control-c after it completes the test you're interested in (before it deletes confdefs.h). Either way, you have to figure out what .h's are already included and move the ntop 275 line below the furthest down of them. -----Burton > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Behalf Of Adam J. Henry > Sent: Thursday, July 29, 2004 10:35 AM > To: [EMAIL PROTECTED] > Subject: Re: [Ntop-dev] CVS parse error on Debian Sid > > > On Wed, Jul 28, 2004 at 11:45:08AM -0400, Adam J. Henry wrote: > > gcc -DHAVE_CONFIG_H -I. -I. -I. -I. > -I/home/hank/Desktop/burn/ntop/myrrd -DLINUX -I/usr/local/include > -I/home/hank/Desktop/burn/ntop/myrrd -g -O2 -I/usr/local/include > -Wshadow -Wpointer-arith -Wmissing-prototypes > -Wmissing-declarations -Wnested-externs -fPIC -g -O2 > -I/usr/local/include -Wshadow -Wpointer-arith > -Wmissing-prototypes -Wmissing-declarations -Wnested-externs > -fPIC -c address.c -MT address.lo -MD -MP -MF .deps/address.TPlo > -fPIC -DPIC -o .libs/address.lo > > In file included from ntop.h:275, > > from address.c:21: > > /usr/include/netinet/sctp.h:146: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:148: error: parse error before > "sinit_max_attempts" > > /usr/include/netinet/sctp.h:149: error: parse error before > "sinit_max_init_timeo" > > /usr/include/netinet/sctp.h:165: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:167: error: parse error before "sinfo_flags" > > /usr/include/netinet/sctp.h:168: error: parse error before "sinfo_ppid" > > /usr/include/netinet/sctp.h:169: error: parse error before > "sinfo_context" > > /usr/include/netinet/sctp.h:170: error: parse error before > "sinfo_timetolive" > > /usr/include/netinet/sctp.h:171: error: parse error before "sinfo_tsn" > > /usr/include/netinet/sctp.h:172: error: parse error before > "sinfo_cumtsn" > > /usr/include/netinet/sctp.h:174: error: parse error before '}' token > > /usr/include/netinet/sctp.h:192: error: parse error before "__u8" > > /usr/include/netinet/sctp.h:195: error: parse error before '}' token > > /usr/include/netinet/sctp.h:214: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:216: error: parse error before "sac_length" > > /usr/include/netinet/sctp.h:217: error: parse error before "sac_state" > > /usr/include/netinet/sctp.h:218: error: parse error before "sac_error" > > /usr/include/netinet/sctp.h:219: error: parse error before > "sac_outbound_streams" > > /usr/include/netinet/sctp.h:220: error: parse error before > "sac_inbound_streams" > > /usr/include/netinet/sctp.h:222: error: parse error before '}' token > > /usr/include/netinet/sctp.h:249: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:251: error: parse error before "spc_length" > > /usr/include/netinet/sctp.h:256: error: parse error before '}' token > > /usr/include/netinet/sctp.h:284: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:286: error: parse error before "sre_length" > > /usr/include/netinet/sctp.h:287: error: parse error before "sre_error" > > /usr/include/netinet/sctp.h:289: error: parse error before "sre_data" > > /usr/include/netinet/sctp.h:290: error: parse error before '}' token > > /usr/include/netinet/sctp.h:300: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:302: error: parse error before "ssf_length" > > /usr/include/netinet/sctp.h:303: error: parse error before "ssf_error" > > /usr/include/netinet/sctp.h:306: error: parse error before "ssf_data" > > /usr/include/netinet/sctp.h:307: error: parse error before '}' token > > /usr/include/netinet/sctp.h:333: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:335: error: parse error before "sse_length" > > /usr/include/netinet/sctp.h:337: error: parse error before '}' token > > /usr/include/netinet/sctp.h:347: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:349: error: parse error before "sai_length" > > /usr/include/netinet/sctp.h:350: error: parse error before > "sai_adaption_ind" > > /usr/include/netinet/sctp.h:352: error: parse error before '}' token > > /usr/include/netinet/sctp.h:362: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:364: error: parse error before > "pdapi_length" > > /usr/include/netinet/sctp.h:365: error: parse error before > "pdapi_indication" > > /usr/include/netinet/sctp.h:367: error: parse error before '}' token > > /usr/include/netinet/sctp.h:376: error: parse error before "__u8" > > /usr/include/netinet/sctp.h:378: error: parse error before > "sctp_address_event" > > /usr/include/netinet/sctp.h:379: error: parse error before > "sctp_send_failure_event" > > /usr/include/netinet/sctp.h:380: error: parse error before > "sctp_peer_error_event" > > /usr/include/netinet/sctp.h:381: error: parse error before > "sctp_shutdown_event" > > /usr/include/netinet/sctp.h:382: error: parse error before > "sctp_partial_delivery_event" > > /usr/include/netinet/sctp.h:383: error: parse error before > "sctp_adaption_layer_event" > > /usr/include/netinet/sctp.h:395: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:397: error: parse error before "sn_length" > > /usr/include/netinet/sctp.h:406: error: parse error before '}' token > > /usr/include/netinet/sctp.h:450: error: parse error before "__u32" > > /usr/include/netinet/sctp.h:452: error: parse error before "srto_min" > > /usr/include/netinet/sctp.h:463: error: parse error before "__u16" > > /usr/include/netinet/sctp.h:465: error: parse error before > "sasoc_peer_rwnd" > > /usr/include/netinet/sctp.h:466: error: parse error before > "sasoc_local_rwnd" > > /usr/include/netinet/sctp.h:467: error: parse error before > "sasoc_cookie_life" > > /usr/include/netinet/sctp.h:503: error: parse error before "__u32" > > /usr/include/netinet/sctp.h:519: error: parse error before "__u32" > > /usr/include/netinet/sctp.h:535: error: parse error before "__s32" > > /usr/include/netinet/sctp.h:537: error: parse error before "spinfo_srtt" > > /usr/include/netinet/sctp.h:538: error: parse error before "spinfo_rto" > > /usr/include/netinet/sctp.h:539: error: parse error before "spinfo_mtu" > > /usr/include/netinet/sctp.h:559: error: parse error before "__s32" > > /usr/include/netinet/sctp.h:561: error: parse error before > "sstat_unackdata" > > /usr/include/netinet/sctp.h:562: error: parse error before > "sstat_penddata" > > /usr/include/netinet/sctp.h:563: error: parse error before > "sstat_instrms" > > /usr/include/netinet/sctp.h:564: error: parse error before > "sstat_outstrms" > > /usr/include/netinet/sctp.h:565: error: parse error before > "sstat_fragmentation_point" > > /usr/include/netinet/sctp.h:567: error: parse error before '}' token > > /usr/include/netinet/sctp.h:193: error: storage size of `init' > isn't known > > /usr/include/netinet/sctp.h:194: error: storage size of > `sndrcv' isn't known > > /usr/include/netinet/sctp.h:304: error: storage size of > `ssf_info' isn't known > > /usr/include/netinet/sctp.h:399: error: storage size of > `sn_assoc_change' isn't known > > /usr/include/netinet/sctp.h:400: error: storage size of > `sn_paddr_change' isn't known > > /usr/include/netinet/sctp.h:401: error: storage size of > `sn_remote_error' isn't known > > /usr/include/netinet/sctp.h:402: error: storage size of > `sn_send_failed' isn't known > > /usr/include/netinet/sctp.h:403: error: storage size of > `sn_shutdown_event' isn't known > > /usr/include/netinet/sctp.h:404: error: storage size of > `sn_adaption_event' isn't known > > /usr/include/netinet/sctp.h:405: error: storage size of > `sn_pdapi_event' isn't known > > /usr/include/netinet/sctp.h:566: error: storage size of > `sstat_primary' isn't known > > make[2]: *** [address.lo] Error 1 > > make[2]: Leaving directory `/home/hank/Desktop/burn/ntop' > > make[1]: *** [all-recursive] Error 1 > > make[1]: Leaving directory `/home/hank/Desktop/burn/ntop' > > make: *** [all] Error 2 > > [EMAIL PROTECTED]:~/Desktop/burn/ntop$ exit > > > The following note is from the maintainer of the libsctp-dev debian > package in Testing/Unstable: > > | A quick fix is to change "#include <sys/types.h>" to "#include > | <linux/types.h>" in ntop.h. sctp.h itself includes <linux/types.h> so > | it normally shouldn't be necessary. I think the problem is how/in what > | order ntop.h includes its header files. So I don't think it's a bug in > | sctp.h and I will close this bug now. But I'll take a closer look when > | I have more time. > | > | Cheers, > | Michael > > _______________________________________________ > Ntop-dev mailing list > [EMAIL PROTECTED] > http://listgateway.unipi.it/mailman/listinfo/ntop-dev _______________________________________________ Ntop-dev mailing list [EMAIL PROTECTED] http://listgateway.unipi.it/mailman/listinfo/ntop-dev
