Hi -
I downloaded the 2005.01.14 bits and went to compile them on HP-UX 11iv1 (11.11) and HP-UX 11iv2u2 (11.23 pi - PA and IPF, but in this case on IPF).
On 11iv2u2 for libpcap, folks will see a warning from the compiler about a redeclaration of IFF_PRIORITY. This _appears_ to stem from /usr/include/net/if.h and if6.h having an IFF_PRIORITY macro, and if.h including if6.h...
Looks like it may be close to time to increase %e in scanner.l:
lex -t scanner.l > $$.scanner.c; mv $$.scanner.c scanner.c
5986/6000 nodes(%e), 21878/25000 positions(%p), 1292/2000 (%n), 47025 transitions, 3621/4000 packed char classes(%k), 14684/16000 packed transitions(%a), 17206/19000 output slots(%o)
the others look like they still have plenty of headroom.
There are some other funnies on the 11iv2u2 compile - not sure if they are libpcap or HP issues:
cc -O -I. -I/usr/local/include -DHAVE_CONFIG_H -D_U_="" -c scanner.c
Warning 612: "scanner.c", line 140 # Label 'yyfussy' has no uses.
yyfussy: switch(nstr){
^^^^^^^^
cc -O -I. -I/usr/local/include -DHAVE_CONFIG_H -D_U_="" -Dyylval=pcap_lval -c grammar.c
Warning 1042: "grammar.y", line 1091 # Subscript out of range.
yypv = &yyv[-1];
^
Warning 1042: "grammar.y", line 1092 # Subscript out of range.
yyps = &yys[-1];
^
Warning 612: "grammar.y", line 1110 # Label 'yynewstate' has no uses.
yynewstate:
^^^^^^^^^^^
Warning 612: "grammar.y", line 1300 # Label 'yyerrlab' has no uses.
yyerrlab:
^^^^^^^^^
The no uses ones are probably (?) don't cares. The subscript stuff may be an issue.
Switching to tcpdump - there are lots and lots of warnings generated by extract.h and duplicate definitions of EXTRACT_LE_64_BITS:
cc -O -DHAVE_CONFIG_H -I./missing -D_U_="" -I. -I./../libpcap -I/usr/local/include -I./missing -c ./print-ntp.c
Warning 129: "./extract.h", line 118 # Redefinition of macro
'EXTRACT_LE_64BITS' differs from previous definition at ["./extract.h",
line 76].
#define EXTRACT_LE_64BITS(p) \
and then there are some type mismatches for smbutil.c:
cc -O -DHAVE_CONFIG_H -I./missing -D_U_="" -I. -I./../libpcap -I/usr/local/include -I./missing -c ./smbutil.c
Warning 129: "./extract.h", line 118 # Redefinition of macro
'EXTRACT_LE_64BITS' differs from previous definition at ["./extract.h",
line 76].
#define EXTRACT_LE_64BITS(p) \
^^^^^^^^^^^^^^^^^
Warning 942: "./smbutil.c", line 612 # Types 'unsigned int *' and 'int *' are
not assignment-compatible.
s = unistr(buf, &len, (*fmt == 'R') ? 0 : unicodestr);
^
Warning 942: "./smbutil.c", line 630 # Types 'unsigned int *' and 'int *' are
not assignment-compatible.
s = unistr(buf + 1, &len, (*fmt == 'Y') ? 0 : unicodestr);
the compilation finally fails with this:
ld: Unsatisfied symbol "EXTRACT_64BITS" in file print-nfs.o
It looks like there are indeed two definitions for EXTRACT_LE_64BITS in extract.h, with one being condtional, and the other being unconditional, so when the conditions are met, one gets two definitions. Interestingly enough, and perhaps this is the root of most of it - the condtional EXTRACT_LE_64BITS is after an EXTRACT_32BITS and EXTRACT_16BITS - I wonder if that "_LE_" is a typo on line 76? That might explain why there is then the no EXTRACT_64BITS error later in ld.
rick jones
- This is the tcpdump-workers list. Visit https://lists.sandelman.ca/ to unsubscribe.