Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure: not portable outside of GNU ? (was AC_CHECK_HEADERS) #369

Open
aixtools opened this issue Sep 22, 2020 · 27 comments
Open

configure: not portable outside of GNU ? (was AC_CHECK_HEADERS) #369

aixtools opened this issue Sep 22, 2020 · 27 comments

Comments

@aixtools
Copy link

Now that ./bootstrap.sh is being called - I am encountering issues with ./configure

Stops first with error.h (aka verr) not found - and I suspect I'll get similar complaints with linux/icmp.h and linux/errqueue.h.

Additionally, ncurses and ncurses/curses.h are like to be 'an issue'.

$ cd /usr/include
$ ls   arpa/nameser_compat.h \
  curses.h \
  cursesX.h \
  error.h \
  fcntl.h \
  linux/icmp.h \
  linux/errqueue.h \
  ncurses.h \
  ncurses/curses.h \
  netinet/in.h \
  socket.h \
  sys/cdefs.h \
  sys/limits.h \
  sys/socket.h \
  stdio_ext.h \
  sys/types.h \
  sys/xti.h \
  values.h \

ls: 0653-341 The file cursesX.h does not exist.
ls: 0653-341 The file error.h does not exist.
ls: 0653-341 The file linux/icmp.h does not exist.
ls: 0653-341 The file linux/errqueue.h does not exist.
ls: 0653-341 The file ncurses.h does not exist.
ls: 0653-341 The file ncurses/curses.h does not exist.
ls: 0653-341 The file socket.h does not exist.
ls: 0653-341 The file stdio_ext.h does not exist.
arpa/nameser_compat.h  fcntl.h                sys/cdefs.h            sys/socket.h           sys/xti.h
curses.h               netinet/in.h           sys/limits.h           sys/types.h            values.h

socket.h is available - but in sys/socket.h

$ find . -name socket.h
./sys/socket.h
@rewolff
Copy link
Collaborator

rewolff commented Sep 22, 2020

Let's start with error.h .

I would think that SUS has somethign to say about such things. The wiki page claims AIX is compatible with version 3.
https://en.wikipedia.org/wiki/Single_UNIX_Specification

I don't think that we are "too deep" for version 03 and would require the V7 version. Stuff like errno.h is pretty standard. Hmm. You're talking about "error.h". OK.... Still my system has this simply in /usr/include and I would expect yours to have it there too. Even then, configure be able to configure for such differences.

Can you install a "I'm going to do development" package that might install such things (in the right place)?

@aixtools
Copy link
Author

OK - discovered it is not the missing error.h - ONLY. There are several other issues. List follows below:

YES - I can add 'development' stuff.

YES - errno.h exists.

After make -i, a second make -i - lots of redefines.

root@x066:[/data/prj/aixtools/mtr-0.93.1]make -i
        make  all-am
  CC       ui/mtr-mtr.o
"/usr/include/sys/param.h", line 126.9: 1506-236 (W) Macro name MAXPATH has been redefined.
"/usr/include/sys/param.h", line 126.9: 1506-358 (I) "MAXPATH" is defined on line 64 of ui/mtr.h.
"ui/utils.h", line 41.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"ui/utils.h", line 37.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline.
"ui/mtr.c", line 201.16: 1506-068 (W) Operation between types "char*" and "int" is not allowed.
"ui/mtr.c", line 330.32: 1506-194 (S) Incomplete type is not allowed.
"ui/mtr.c", line 392.49: 1506-043 (S) The operand of the sizeof operator is not valid.
"ui/mtr.c", line 393.24: 1506-195 (S) Integral constant expression with a value greater than zero is required.
"ui/mtr.c", line 674.13: 1506-068 (W) Operation between types "char*" and "int" is not allowed.
"ui/mtr.c", line 806.12: 1506-045 (S) Undeclared identifier close_stdout.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       ui/mtr-net.o
"ui/net.c", line 23.10: 1506-296 (S) #include file <ifaddrs.h> not found.
"/usr/include/sys/param.h", line 126.9: 1506-236 (W) Macro name MAXPATH has been redefined.
"/usr/include/sys/param.h", line 126.9: 1506-358 (I) "MAXPATH" is defined on line 64 of ui/mtr.h.
"ui/utils.h", line 41.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"ui/utils.h", line 37.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline.
"ui/net.c", line 83.23: 1506-194 (S) Incomplete type is not allowed.
"ui/net.c", line 237.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 241.18: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 243.26: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 243.41: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 247.26: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 254.21: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 254.36: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 256.13: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 256.28: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 257.51: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 257.76: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 263.17: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 264.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 265.47: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 265.68: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 268.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 268.28: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 269.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 270.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 270.23: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 273.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 275.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 276.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 276.20: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 276.32: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 277.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 277.19: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 279.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 279.22: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 279.35: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 282.19: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 283.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 285.19: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 286.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 289.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 289.22: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 290.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 290.22: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 293.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 294.14: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 295.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 295.42: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 296.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 297.46: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 299.15: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 300.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 301.10: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 301.34: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 303.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 304.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 304.24: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 306.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 307.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 308.26: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 309.18: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 309.40: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 310.43: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 313.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 314.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 315.5: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 556.13: 1506-045 (S) Undeclared identifier packetsize.
"ui/net.c", line 642.13: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 642.52: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 645.17: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 648.25: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 654.25: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 662.21: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 701.26: 1506-018 (S) Operand of indirection operator must be a pointer expression.
"ui/net.c", line 718.49: 1506-280 (W) Function argument assignment between types "unsigned long*" and "int*" is not allowed.
"ui/net.c", line 723.62: 1506-280 (W) Function argument assignment between types "const void*" and "int" is not allowed.
"ui/net.c", line 744.32: 1506-280 (W) Function argument assignment between types "void*" and "int" is not allowed.
"ui/net.c", line 746.19: 1506-068 (W) Operation between types "struct in6_addr*" and "int" is not allowed.
"ui/net.c", line 747.19: 1506-068 (W) Operation between types "struct in6_addr*" and "int" is not allowed.
"ui/net.c", line 754.66: 1506-280 (W) Function argument assignment between types "const void*" and "int" is not allowed.
"ui/net.c", line 775.32: 1506-280 (W) Function argument assignment between types "void*" and "int" is not allowed.
"ui/net.c", line 784.19: 1506-007 (S) "struct nethost" is undefined.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       ui/mtr-dns.o
"/usr/include/sys/param.h", line 126.9: 1506-236 (W) Macro name MAXPATH has been redefined.
"/usr/include/sys/param.h", line 126.9: 1506-358 (I) "MAXPATH" is defined on line 64 of ui/mtr.h.
"ui/utils.h", line 41.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"ui/utils.h", line 37.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline.
"ui/dns.c", line 108.30: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/dns.c", line 109.26: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/dns.c", line 123.32: 1506-280 (W) Function argument assignment between types "void*" and "int" is not allowed.
"ui/dns.c", line 229.13: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/dns.c", line 265.13: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/dns.c", line 266.20: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/dns.c", line 268.21: 1506-043 (S) The operand of the sizeof operator is not valid.
"ui/dns.c", line 268.11: 1506-068 (W) Operation between types "struct dns_results*" and "int" is not allowed.
"ui/dns.c", line 269.17: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/dns.c", line 269.35: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/dns.c", line 270.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/dns.c", line 271.9: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       ui/mtr-split.o
"/usr/include/sys/param.h", line 126.9: 1506-236 (W) Macro name MAXPATH has been redefined.
"/usr/include/sys/param.h", line 126.9: 1506-358 (I) "MAXPATH" is defined on line 64 of ui/mtr.h.
"ui/utils.h", line 41.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"ui/utils.h", line 37.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       ui/mtr-report.o
"/usr/include/sys/param.h", line 126.9: 1506-236 (W) Macro name MAXPATH has been redefined.
"/usr/include/sys/param.h", line 126.9: 1506-358 (I) "MAXPATH" is defined on line 64 of ui/mtr.h.
"ui/utils.h", line 41.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"ui/utils.h", line 37.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline.
"ui/report.c", line 53.19: 1506-196 (W) Initialization between types "const char*" and "int" is not allowed.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       ui/mtr-utils.o
"ui/utils.h", line 41.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"ui/utils.h", line 37.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline.
"ui/utils.c", line 47.15: 1506-045 (S) Undeclared identifier str.
"ui/utils.c", line 51.62: 1506-045 (S) Undeclared identifier c.
"ui/utils.c", line 51.51: 1506-045 (S) Undeclared identifier c.
"ui/utils.c", line 148.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"ui/utils.c", line 146.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline.
"ui/utils.c", line 155.42: 1506-045 (S) Undeclared identifier stream.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       ui/mtr-asn.o
"/usr/include/arpa/nameser_compat.h", line 49.9: 1506-236 (W) Macro name PACKETSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 49.9: 1506-358 (I) "PACKETSZ" is defined on line 50 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 50.9: 1506-236 (W) Macro name MAXDNAME has been redefined.
"/usr/include/arpa/nameser_compat.h", line 50.9: 1506-358 (I) "MAXDNAME" is defined on line 51 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 51.9: 1506-236 (W) Macro name MAXCDNAME has been redefined.
"/usr/include/arpa/nameser_compat.h", line 51.9: 1506-358 (I) "MAXCDNAME" is defined on line 52 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 52.9: 1506-236 (W) Macro name MAXLABEL has been redefined.
"/usr/include/arpa/nameser_compat.h", line 52.9: 1506-358 (I) "MAXLABEL" is defined on line 53 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 53.9: 1506-236 (W) Macro name HFIXEDSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 53.9: 1506-358 (I) "HFIXEDSZ" is defined on line 54 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 54.9: 1506-236 (W) Macro name QFIXEDSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 54.9: 1506-358 (I) "QFIXEDSZ" is defined on line 55 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 55.9: 1506-236 (W) Macro name RRFIXEDSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 55.9: 1506-358 (I) "RRFIXEDSZ" is defined on line 56 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 56.9: 1506-236 (W) Macro name INT32SZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 56.9: 1506-358 (I) "INT32SZ" is defined on line 57 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 57.9: 1506-236 (W) Macro name INT16SZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 57.9: 1506-358 (I) "INT16SZ" is defined on line 58 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 58.9: 1506-236 (W) Macro name INADDRSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 58.9: 1506-358 (I) "INADDRSZ" is defined on line 59 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 59.9: 1506-236 (W) Macro name IN6ADDRSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 59.9: 1506-358 (I) "IN6ADDRSZ" is defined on line 60 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 60.9: 1506-236 (W) Macro name INDIR_MASK has been redefined.
"/usr/include/arpa/nameser_compat.h", line 60.9: 1506-358 (I) "INDIR_MASK" is defined on line 300 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 61.9: 1506-236 (W) Macro name NAMESERVER_PORT has been redefined.
"/usr/include/arpa/nameser_compat.h", line 61.9: 1506-358 (I) "NAMESERVER_PORT" is defined on line 65 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 76.9: 1506-236 (W) Macro name QUERY has been redefined.
"/usr/include/arpa/nameser_compat.h", line 76.9: 1506-358 (I) "QUERY" is defined on line 70 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 77.9: 1506-236 (W) Macro name IQUERY has been redefined.
"/usr/include/arpa/nameser_compat.h", line 77.9: 1506-358 (I) "IQUERY" is defined on line 71 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 78.9: 1506-236 (W) Macro name STATUS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 78.9: 1506-358 (I) "STATUS" is defined on line 72 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 79.9: 1506-236 (W) Macro name NS_NOTIFY_OP has been redefined.
"/usr/include/arpa/nameser_compat.h", line 79.9: 1506-358 (I) "NS_NOTIFY_OP" is defined on line 74 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 82.9: 1506-236 (W) Macro name NOERROR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 82.9: 1506-358 (I) "NOERROR" is defined on line 114 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 83.9: 1506-236 (W) Macro name FORMERR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 83.9: 1506-358 (I) "FORMERR" is defined on line 115 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 84.9: 1506-236 (W) Macro name SERVFAIL has been redefined.
"/usr/include/arpa/nameser_compat.h", line 84.9: 1506-358 (I) "SERVFAIL" is defined on line 116 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 85.9: 1506-236 (W) Macro name NXDOMAIN has been redefined.
"/usr/include/arpa/nameser_compat.h", line 85.9: 1506-358 (I) "NXDOMAIN" is defined on line 117 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 86.9: 1506-236 (W) Macro name NOTIMP has been redefined.
"/usr/include/arpa/nameser_compat.h", line 86.9: 1506-358 (I) "NOTIMP" is defined on line 118 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 87.9: 1506-236 (W) Macro name REFUSED has been redefined.
"/usr/include/arpa/nameser_compat.h", line 87.9: 1506-358 (I) "REFUSED" is defined on line 119 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 97.9: 1506-236 (W) Macro name T_A has been redefined.
"/usr/include/arpa/nameser_compat.h", line 97.9: 1506-358 (I) "T_A" is defined on line 141 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 98.9: 1506-236 (W) Macro name T_NS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 98.9: 1506-358 (I) "T_NS" is defined on line 142 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 99.9: 1506-236 (W) Macro name T_MD has been redefined.
"/usr/include/arpa/nameser_compat.h", line 99.9: 1506-358 (I) "T_MD" is defined on line 143 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 100.9: 1506-236 (W) Macro name T_MF has been redefined.
"/usr/include/arpa/nameser_compat.h", line 100.9: 1506-358 (I) "T_MF" is defined on line 144 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 101.9: 1506-236 (W) Macro name T_CNAME has been redefined.
"/usr/include/arpa/nameser_compat.h", line 101.9: 1506-358 (I) "T_CNAME" is defined on line 145 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 102.9: 1506-236 (W) Macro name T_SOA has been redefined.
"/usr/include/arpa/nameser_compat.h", line 102.9: 1506-358 (I) "T_SOA" is defined on line 146 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 103.9: 1506-236 (W) Macro name T_MB has been redefined.
"/usr/include/arpa/nameser_compat.h", line 103.9: 1506-358 (I) "T_MB" is defined on line 147 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 104.9: 1506-236 (W) Macro name T_MG has been redefined.
"/usr/include/arpa/nameser_compat.h", line 104.9: 1506-358 (I) "T_MG" is defined on line 148 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 105.9: 1506-236 (W) Macro name T_MR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 105.9: 1506-358 (I) "T_MR" is defined on line 149 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 106.9: 1506-236 (W) Macro name T_NULL has been redefined.
"/usr/include/arpa/nameser_compat.h", line 106.9: 1506-358 (I) "T_NULL" is defined on line 150 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 107.9: 1506-236 (W) Macro name T_WKS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 107.9: 1506-358 (I) "T_WKS" is defined on line 151 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 108.9: 1506-236 (W) Macro name T_PTR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 108.9: 1506-358 (I) "T_PTR" is defined on line 152 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 109.9: 1506-236 (W) Macro name T_HINFO has been redefined.
"/usr/include/arpa/nameser_compat.h", line 109.9: 1506-358 (I) "T_HINFO" is defined on line 153 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 110.9: 1506-236 (W) Macro name T_MINFO has been redefined.
"/usr/include/arpa/nameser_compat.h", line 110.9: 1506-358 (I) "T_MINFO" is defined on line 154 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 111.9: 1506-236 (W) Macro name T_MX has been redefined.
"/usr/include/arpa/nameser_compat.h", line 111.9: 1506-358 (I) "T_MX" is defined on line 155 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 112.9: 1506-236 (W) Macro name T_TXT has been redefined.
"/usr/include/arpa/nameser_compat.h", line 112.9: 1506-358 (I) "T_TXT" is defined on line 156 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 113.9: 1506-236 (W) Macro name T_RP has been redefined.
"/usr/include/arpa/nameser_compat.h", line 113.9: 1506-358 (I) "T_RP" is defined on line 157 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 114.9: 1506-236 (W) Macro name T_AFSDB has been redefined.
"/usr/include/arpa/nameser_compat.h", line 114.9: 1506-358 (I) "T_AFSDB" is defined on line 158 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 115.9: 1506-236 (W) Macro name T_X25 has been redefined.
"/usr/include/arpa/nameser_compat.h", line 115.9: 1506-358 (I) "T_X25" is defined on line 159 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 116.9: 1506-236 (W) Macro name T_ISDN has been redefined.
"/usr/include/arpa/nameser_compat.h", line 116.9: 1506-358 (I) "T_ISDN" is defined on line 160 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 117.9: 1506-236 (W) Macro name T_RT has been redefined.
"/usr/include/arpa/nameser_compat.h", line 117.9: 1506-358 (I) "T_RT" is defined on line 161 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 118.9: 1506-236 (W) Macro name T_NSAP has been redefined.
"/usr/include/arpa/nameser_compat.h", line 118.9: 1506-358 (I) "T_NSAP" is defined on line 162 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 119.9: 1506-236 (W) Macro name T_NSAP_PTR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 119.9: 1506-358 (I) "T_NSAP_PTR" is defined on line 163 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 120.9: 1506-236 (W) Macro name T_SIG has been redefined.
"/usr/include/arpa/nameser_compat.h", line 120.9: 1506-358 (I) "T_SIG" is defined on line 164 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 121.9: 1506-236 (W) Macro name T_KEY has been redefined.
"/usr/include/arpa/nameser_compat.h", line 121.9: 1506-358 (I) "T_KEY" is defined on line 165 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 122.9: 1506-236 (W) Macro name T_PX has been redefined.
"/usr/include/arpa/nameser_compat.h", line 122.9: 1506-358 (I) "T_PX" is defined on line 166 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 123.9: 1506-236 (W) Macro name T_GPOS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 123.9: 1506-358 (I) "T_GPOS" is defined on line 167 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 124.9: 1506-236 (W) Macro name T_AAAA has been redefined.
"/usr/include/arpa/nameser_compat.h", line 124.9: 1506-358 (I) "T_AAAA" is defined on line 168 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 125.9: 1506-236 (W) Macro name T_LOC has been redefined.
"/usr/include/arpa/nameser_compat.h", line 125.9: 1506-358 (I) "T_LOC" is defined on line 169 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 134.9: 1506-236 (W) Macro name T_AXFR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 134.9: 1506-358 (I) "T_AXFR" is defined on line 176 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 135.9: 1506-236 (W) Macro name T_MAILB has been redefined.
"/usr/include/arpa/nameser_compat.h", line 135.9: 1506-358 (I) "T_MAILB" is defined on line 177 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 136.9: 1506-236 (W) Macro name T_MAILA has been redefined.
"/usr/include/arpa/nameser_compat.h", line 136.9: 1506-358 (I) "T_MAILA" is defined on line 178 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 137.9: 1506-236 (W) Macro name T_ANY has been redefined.
"/usr/include/arpa/nameser_compat.h", line 137.9: 1506-358 (I) "T_ANY" is defined on line 179 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 139.9: 1506-236 (W) Macro name T_UINFO has been redefined.
"/usr/include/arpa/nameser_compat.h", line 139.9: 1506-358 (I) "T_UINFO" is defined on line 171 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 140.9: 1506-236 (W) Macro name T_UID has been redefined.
"/usr/include/arpa/nameser_compat.h", line 140.9: 1506-358 (I) "T_UID" is defined on line 172 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 141.9: 1506-236 (W) Macro name T_GID has been redefined.
"/usr/include/arpa/nameser_compat.h", line 141.9: 1506-358 (I) "T_GID" is defined on line 173 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 142.9: 1506-236 (W) Macro name T_UNSPEC has been redefined.
"/usr/include/arpa/nameser_compat.h", line 142.9: 1506-358 (I) "T_UNSPEC" is defined on line 174 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 163.9: 1506-236 (W) Macro name C_IN has been redefined.
"/usr/include/arpa/nameser_compat.h", line 163.9: 1506-358 (I) "C_IN" is defined on line 185 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 164.9: 1506-236 (W) Macro name C_CHAOS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 164.9: 1506-358 (I) "C_CHAOS" is defined on line 186 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 165.9: 1506-236 (W) Macro name C_HS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 165.9: 1506-358 (I) "C_HS" is defined on line 188 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 168.9: 1506-236 (W) Macro name C_ANY has been redefined.
"/usr/include/arpa/nameser_compat.h", line 168.9: 1506-358 (I) "C_ANY" is defined on line 191 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 244.3: 1506-334 (S) Identifier HEADER has already been defined on line 265 of "/usr/include/arpa/onameser_compat.h".
"/usr/include/arpa/nameser_compat.h", line 246.9: 1506-236 (W) Macro name GETSHORT has been redefined.
"/usr/include/arpa/nameser_compat.h", line 246.9: 1506-358 (I) "GETSHORT" is defined on line 332 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 247.9: 1506-236 (W) Macro name GETLONG has been redefined.
"/usr/include/arpa/nameser_compat.h", line 247.9: 1506-358 (I) "GETLONG" is defined on line 337 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 248.9: 1506-236 (W) Macro name PUTSHORT has been redefined.
"/usr/include/arpa/nameser_compat.h", line 248.9: 1506-358 (I) "PUTSHORT" is defined on line 345 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 249.9: 1506-236 (W) Macro name PUTLONG has been redefined.
"/usr/include/arpa/nameser_compat.h", line 249.9: 1506-358 (I) "PUTLONG" is defined on line 350 of /usr/include/arpa/onameser_compat.h.
"ui/mtr.h", line 64.9: 1506-236 (W) Macro name MAXPATH has been redefined.
"ui/mtr.h", line 64.9: 1506-358 (I) "MAXPATH" is defined on line 126 of /usr/include/sys/param.h.
"ui/utils.h", line 41.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"ui/utils.h", line 37.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline.
"ui/asn.c", line 68.48: 1506-277 (S) Syntax error: possible missing ';' or ','?
"ui/asn.c", line 92.13: 1506-045 (S) Undeclared identifier iihash.
"ui/asn.c", line 94.23: 1506-1332 (W) A function with return type "char*" may not return a value of type "int".
"ui/asn.c", line 144.13: 1506-068 (W) Operation between types "char*" and "int" is not allowed.
"ui/asn.c", line 168.9: 1506-045 (S) Undeclared identifier iihash.
"ui/asn.c", line 251.9: 1506-045 (S) Undeclared identifier iihash.
"ui/asn.c", line 268.31: 1506-068 (W) Operation between types "char*" and "int" is not allowed.
"ui/asn.c", line 282.19: 1506-045 (S) Undeclared identifier iiwidth.
"ui/asn.c", line 288.35: 1506-045 (S) Undeclared identifier iiwidth.
"ui/asn.c", line 288.26: 1506-221 (S) Initializer must be a valid constant expression.
"ui/asn.c", line 303.29: 1506-045 (S) Undeclared identifier fmtinfo.
"ui/asn.c", line 303.14: 1506-045 (S) Undeclared identifier fmtinfo.
"ui/asn.c", line 317.11: 1506-045 (S) Undeclared identifier iihash.
"ui/asn.c", line 324.9: 1506-045 (S) Undeclared identifier iihash.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       ui/mtr-curses.o
"/usr/include/sys/param.h", line 126.9: 1506-236 (W) Macro name MAXPATH has been redefined.
"/usr/include/sys/param.h", line 126.9: 1506-358 (I) "MAXPATH" is defined on line 64 of ui/mtr.h.
"ui/utils.h", line 41.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"ui/utils.h", line 37.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline.
"ui/curses.c", line 68.8: 1506-045 (S) Undeclared identifier NUM_FACTORS.
"ui/curses.c", line 69.23: 1506-045 (S) Undeclared identifier NUM_FACTORS.
"ui/curses.c", line 69.23: 1506-195 (S) Integral constant expression with a value greater than zero is required.
"ui/curses.c", line 70.18: 1506-195 (S) Integral constant expression with a value greater than zero is required.
"ui/curses.c", line 71.23: 1506-195 (S) Integral constant expression with a value greater than zero is required.
"ui/curses.c", line 74.28: 1506-195 (S) Integral constant expression with a value greater than zero is required.
"ui/curses.c", line 703.36: 1506-280 (W) Function argument assignment between types "char*" and "int" is not allowed.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CCLD     mtr
cc: 1501-228 (W) input file ui/mtr-mtr.o not found
cc: 1501-228 (W) input file ui/mtr-net.o not found
cc: 1501-228 (W) input file ui/mtr-dns.o not found
cc: 1501-228 (W) input file ui/mtr-split.o not found
cc: 1501-228 (W) input file ui/mtr-report.o not found
cc: 1501-228 (W) input file ui/mtr-utils.o not found
cc: 1501-228 (W) input file ui/mtr-asn.o not found
cc: 1501-228 (W) input file ui/mtr-curses.o not found
make: 1254-004 The error code from the last command is 252.
make: 1254-005 Ignored error code 252 from last command.
  CC       packet/probe.o
"packet/protocols.h", line 81.33: 1506-046 (S) Syntax error.
"packet/probe.c", line 116.13: 1506-046 (S) Syntax error.
"packet/probe.c", line 346.60: 1506-280 (W) Function argument assignment between types "unsigned long*" and "int*" is not allowed.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       packet/construct_unix.o
"packet/protocols.h", line 81.33: 1506-046 (S) Syntax error.
"packet/construct_unix.c", line 118.1: 1506-046 (S) Syntax error.
"packet/construct_unix.c", line 621.25: 1506-280 (W) Function argument assignment between types "unsigned long*" and "int*" is not allowed.
"packet/construct_unix.c", line 733.21: 1506-280 (W) Function argument assignment between types "unsigned long*" and "int*" is not allowed.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       packet/deconstruct_unix.o
"packet/protocols.h", line 81.33: 1506-046 (S) Syntax error.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       packet/probe_unix.o
"packet/protocols.h", line 81.33: 1506-046 (S) Syntax error.
"packet/probe_unix.c", line 578.5: 1506-046 (S) Syntax error.
"packet/probe_unix.c", line 580.72: 1506-209 (S) Character constants must end before the end of a line.
"packet/probe_unix.c", line 580.39: 1506-076 (W) Character constant 've been acceptable too I think. ' has more than 4 characters. No more than rightmost 4 characters are used.
"packet/probe_unix.c", line 587.37: 1506-046 (S) Syntax error.
"packet/probe_unix.c", line 590.55: 1506-046 (S) Syntax error.
"packet/probe_unix.c", line 593.20: 1506-046 (S) Syntax error.
"packet/probe_unix.c", line 880.62: 1506-280 (W) Function argument assignment between types "unsigned long*" and "int*" is not allowed.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CCLD     mtr-packet
cc: 1501-228 (W) input file packet/probe.o not found
cc: 1501-228 (W) input file packet/construct_unix.o not found
cc: 1501-228 (W) input file packet/deconstruct_unix.o not found
cc: 1501-228 (W) input file packet/probe_unix.o not found
make: 1254-004 The error code from the last command is 252.
make: 1254-005 Ignored error code 252 from last command.

@aixtools
Copy link
Author

FYI: The AIX include files

onameser_compat.h.txt
param.h.txt

And do not have ifaddrs.h

@aixtools aixtools changed the title AC_CHECK_HEADERS: not portable outside of GNU ? configure: not portable outside of GNU ? (was AC_CHECK_HEADERS) Sep 22, 2020
@rewolff
Copy link
Collaborator

rewolff commented Sep 22, 2020

Your error messages indicate that your compilation process includes "params.h" twice. And... It is common to protect against that with a

#ifndef PARAMS_H
#define PARAMS_H 

at the beginning of such a header. And then the #endif at the end.

Then... the next line indicates that your compiler didn't see the:
ui/utils.h:extern char *xstrdup(
in utils.h. Your compilation environment is not in a "usable" state.

@aixtools
Copy link
Author

As to stable state: it is working fine for other projects... That said, I'll look into why it is not finding it. Maybe there is an extra define (CFLAG) needed to get it to follow the logic you want. I make no assumptions, nor do I try to second guess.

Further, maybe a typo - but I do not have a params.h - there is a <sys/param.h> with:

/* IBM_PROLOG_END_TAG /
/
@(#)45 1.40.1.7 src/bos/kernel/sys/param.h, sysproc, bos610 6/14/06 03:08:04 */
#ifndef _H_PARAM
#define _H_PARAM

@aixtools
Copy link
Author

Changed one default - to what I normally use:

$ export CC=xlc # (rather than cc).

The effect is that comments started by // are now recognized. I expect 'some' of the unstability is caused by mixed comment prefix and bracketing.

Looks like this now:


root@x066:[/data/prj/aixtools/mtr-0.93.1]make -i
        make  all-am
  CC       ui/mtr-net.o
"ui/net.c", line 23.10: 1506-296 (S) #include file <ifaddrs.h> not found.
"/usr/include/sys/param.h", line 126.9: 1506-236 (W) Macro name MAXPATH has been redefined.
"/usr/include/sys/param.h", line 126.9: 1506-358 (I) "MAXPATH" is defined on line 64 of ui/mtr.h.
"ui/net.c", line 642.13: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 642.52: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 645.17: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 648.25: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 654.25: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 662.21: 1506-285 (S) The indirection operator cannot be applied to a pointer to an incomplete struct or union.
"ui/net.c", line 718.49: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CC       ui/mtr-asn.o
"/usr/include/arpa/nameser_compat.h", line 49.9: 1506-236 (W) Macro name PACKETSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 49.9: 1506-358 (I) "PACKETSZ" is defined on line 50 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 50.9: 1506-236 (W) Macro name MAXDNAME has been redefined.
"/usr/include/arpa/nameser_compat.h", line 50.9: 1506-358 (I) "MAXDNAME" is defined on line 51 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 51.9: 1506-236 (W) Macro name MAXCDNAME has been redefined.
"/usr/include/arpa/nameser_compat.h", line 51.9: 1506-358 (I) "MAXCDNAME" is defined on line 52 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 52.9: 1506-236 (W) Macro name MAXLABEL has been redefined.
"/usr/include/arpa/nameser_compat.h", line 52.9: 1506-358 (I) "MAXLABEL" is defined on line 53 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 53.9: 1506-236 (W) Macro name HFIXEDSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 53.9: 1506-358 (I) "HFIXEDSZ" is defined on line 54 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 54.9: 1506-236 (W) Macro name QFIXEDSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 54.9: 1506-358 (I) "QFIXEDSZ" is defined on line 55 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 55.9: 1506-236 (W) Macro name RRFIXEDSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 55.9: 1506-358 (I) "RRFIXEDSZ" is defined on line 56 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 56.9: 1506-236 (W) Macro name INT32SZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 56.9: 1506-358 (I) "INT32SZ" is defined on line 57 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 57.9: 1506-236 (W) Macro name INT16SZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 57.9: 1506-358 (I) "INT16SZ" is defined on line 58 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 58.9: 1506-236 (W) Macro name INADDRSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 58.9: 1506-358 (I) "INADDRSZ" is defined on line 59 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 59.9: 1506-236 (W) Macro name IN6ADDRSZ has been redefined.
"/usr/include/arpa/nameser_compat.h", line 59.9: 1506-358 (I) "IN6ADDRSZ" is defined on line 60 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 60.9: 1506-236 (W) Macro name INDIR_MASK has been redefined.
"/usr/include/arpa/nameser_compat.h", line 60.9: 1506-358 (I) "INDIR_MASK" is defined on line 300 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 61.9: 1506-236 (W) Macro name NAMESERVER_PORT has been redefined.
"/usr/include/arpa/nameser_compat.h", line 61.9: 1506-358 (I) "NAMESERVER_PORT" is defined on line 65 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 76.9: 1506-236 (W) Macro name QUERY has been redefined.
"/usr/include/arpa/nameser_compat.h", line 76.9: 1506-358 (I) "QUERY" is defined on line 70 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 77.9: 1506-236 (W) Macro name IQUERY has been redefined.
"/usr/include/arpa/nameser_compat.h", line 77.9: 1506-358 (I) "IQUERY" is defined on line 71 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 78.9: 1506-236 (W) Macro name STATUS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 78.9: 1506-358 (I) "STATUS" is defined on line 72 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 79.9: 1506-236 (W) Macro name NS_NOTIFY_OP has been redefined.
"/usr/include/arpa/nameser_compat.h", line 79.9: 1506-358 (I) "NS_NOTIFY_OP" is defined on line 74 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 82.9: 1506-236 (W) Macro name NOERROR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 82.9: 1506-358 (I) "NOERROR" is defined on line 114 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 83.9: 1506-236 (W) Macro name FORMERR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 83.9: 1506-358 (I) "FORMERR" is defined on line 115 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 84.9: 1506-236 (W) Macro name SERVFAIL has been redefined.
"/usr/include/arpa/nameser_compat.h", line 84.9: 1506-358 (I) "SERVFAIL" is defined on line 116 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 85.9: 1506-236 (W) Macro name NXDOMAIN has been redefined.
"/usr/include/arpa/nameser_compat.h", line 85.9: 1506-358 (I) "NXDOMAIN" is defined on line 117 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 86.9: 1506-236 (W) Macro name NOTIMP has been redefined.
"/usr/include/arpa/nameser_compat.h", line 86.9: 1506-358 (I) "NOTIMP" is defined on line 118 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 87.9: 1506-236 (W) Macro name REFUSED has been redefined.
"/usr/include/arpa/nameser_compat.h", line 87.9: 1506-358 (I) "REFUSED" is defined on line 119 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 97.9: 1506-236 (W) Macro name T_A has been redefined.
"/usr/include/arpa/nameser_compat.h", line 97.9: 1506-358 (I) "T_A" is defined on line 141 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 98.9: 1506-236 (W) Macro name T_NS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 98.9: 1506-358 (I) "T_NS" is defined on line 142 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 99.9: 1506-236 (W) Macro name T_MD has been redefined.
"/usr/include/arpa/nameser_compat.h", line 99.9: 1506-358 (I) "T_MD" is defined on line 143 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 100.9: 1506-236 (W) Macro name T_MF has been redefined.
"/usr/include/arpa/nameser_compat.h", line 100.9: 1506-358 (I) "T_MF" is defined on line 144 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 101.9: 1506-236 (W) Macro name T_CNAME has been redefined.
"/usr/include/arpa/nameser_compat.h", line 101.9: 1506-358 (I) "T_CNAME" is defined on line 145 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 102.9: 1506-236 (W) Macro name T_SOA has been redefined.
"/usr/include/arpa/nameser_compat.h", line 102.9: 1506-358 (I) "T_SOA" is defined on line 146 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 103.9: 1506-236 (W) Macro name T_MB has been redefined.
"/usr/include/arpa/nameser_compat.h", line 103.9: 1506-358 (I) "T_MB" is defined on line 147 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 104.9: 1506-236 (W) Macro name T_MG has been redefined.
"/usr/include/arpa/nameser_compat.h", line 104.9: 1506-358 (I) "T_MG" is defined on line 148 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 105.9: 1506-236 (W) Macro name T_MR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 105.9: 1506-358 (I) "T_MR" is defined on line 149 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 106.9: 1506-236 (W) Macro name T_NULL has been redefined.
"/usr/include/arpa/nameser_compat.h", line 106.9: 1506-358 (I) "T_NULL" is defined on line 150 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 107.9: 1506-236 (W) Macro name T_WKS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 107.9: 1506-358 (I) "T_WKS" is defined on line 151 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 108.9: 1506-236 (W) Macro name T_PTR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 108.9: 1506-358 (I) "T_PTR" is defined on line 152 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 109.9: 1506-236 (W) Macro name T_HINFO has been redefined.
"/usr/include/arpa/nameser_compat.h", line 109.9: 1506-358 (I) "T_HINFO" is defined on line 153 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 110.9: 1506-236 (W) Macro name T_MINFO has been redefined.
"/usr/include/arpa/nameser_compat.h", line 110.9: 1506-358 (I) "T_MINFO" is defined on line 154 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 111.9: 1506-236 (W) Macro name T_MX has been redefined.
"/usr/include/arpa/nameser_compat.h", line 111.9: 1506-358 (I) "T_MX" is defined on line 155 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 112.9: 1506-236 (W) Macro name T_TXT has been redefined.
"/usr/include/arpa/nameser_compat.h", line 112.9: 1506-358 (I) "T_TXT" is defined on line 156 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 113.9: 1506-236 (W) Macro name T_RP has been redefined.
"/usr/include/arpa/nameser_compat.h", line 113.9: 1506-358 (I) "T_RP" is defined on line 157 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 114.9: 1506-236 (W) Macro name T_AFSDB has been redefined.
"/usr/include/arpa/nameser_compat.h", line 114.9: 1506-358 (I) "T_AFSDB" is defined on line 158 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 115.9: 1506-236 (W) Macro name T_X25 has been redefined.
"/usr/include/arpa/nameser_compat.h", line 115.9: 1506-358 (I) "T_X25" is defined on line 159 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 116.9: 1506-236 (W) Macro name T_ISDN has been redefined.
"/usr/include/arpa/nameser_compat.h", line 116.9: 1506-358 (I) "T_ISDN" is defined on line 160 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 117.9: 1506-236 (W) Macro name T_RT has been redefined.
"/usr/include/arpa/nameser_compat.h", line 117.9: 1506-358 (I) "T_RT" is defined on line 161 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 118.9: 1506-236 (W) Macro name T_NSAP has been redefined.
"/usr/include/arpa/nameser_compat.h", line 118.9: 1506-358 (I) "T_NSAP" is defined on line 162 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 119.9: 1506-236 (W) Macro name T_NSAP_PTR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 119.9: 1506-358 (I) "T_NSAP_PTR" is defined on line 163 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 120.9: 1506-236 (W) Macro name T_SIG has been redefined.
"/usr/include/arpa/nameser_compat.h", line 120.9: 1506-358 (I) "T_SIG" is defined on line 164 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 121.9: 1506-236 (W) Macro name T_KEY has been redefined.
"/usr/include/arpa/nameser_compat.h", line 121.9: 1506-358 (I) "T_KEY" is defined on line 165 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 122.9: 1506-236 (W) Macro name T_PX has been redefined.
"/usr/include/arpa/nameser_compat.h", line 122.9: 1506-358 (I) "T_PX" is defined on line 166 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 123.9: 1506-236 (W) Macro name T_GPOS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 123.9: 1506-358 (I) "T_GPOS" is defined on line 167 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 124.9: 1506-236 (W) Macro name T_AAAA has been redefined.
"/usr/include/arpa/nameser_compat.h", line 124.9: 1506-358 (I) "T_AAAA" is defined on line 168 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 125.9: 1506-236 (W) Macro name T_LOC has been redefined.
"/usr/include/arpa/nameser_compat.h", line 125.9: 1506-358 (I) "T_LOC" is defined on line 169 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 134.9: 1506-236 (W) Macro name T_AXFR has been redefined.
"/usr/include/arpa/nameser_compat.h", line 134.9: 1506-358 (I) "T_AXFR" is defined on line 176 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 135.9: 1506-236 (W) Macro name T_MAILB has been redefined.
"/usr/include/arpa/nameser_compat.h", line 135.9: 1506-358 (I) "T_MAILB" is defined on line 177 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 136.9: 1506-236 (W) Macro name T_MAILA has been redefined.
"/usr/include/arpa/nameser_compat.h", line 136.9: 1506-358 (I) "T_MAILA" is defined on line 178 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 137.9: 1506-236 (W) Macro name T_ANY has been redefined.
"/usr/include/arpa/nameser_compat.h", line 137.9: 1506-358 (I) "T_ANY" is defined on line 179 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 139.9: 1506-236 (W) Macro name T_UINFO has been redefined.
"/usr/include/arpa/nameser_compat.h", line 139.9: 1506-358 (I) "T_UINFO" is defined on line 171 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 140.9: 1506-236 (W) Macro name T_UID has been redefined.
"/usr/include/arpa/nameser_compat.h", line 140.9: 1506-358 (I) "T_UID" is defined on line 172 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 141.9: 1506-236 (W) Macro name T_GID has been redefined.
"/usr/include/arpa/nameser_compat.h", line 141.9: 1506-358 (I) "T_GID" is defined on line 173 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 142.9: 1506-236 (W) Macro name T_UNSPEC has been redefined.
"/usr/include/arpa/nameser_compat.h", line 142.9: 1506-358 (I) "T_UNSPEC" is defined on line 174 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 163.9: 1506-236 (W) Macro name C_IN has been redefined.
"/usr/include/arpa/nameser_compat.h", line 163.9: 1506-358 (I) "C_IN" is defined on line 185 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 164.9: 1506-236 (W) Macro name C_CHAOS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 164.9: 1506-358 (I) "C_CHAOS" is defined on line 186 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 165.9: 1506-236 (W) Macro name C_HS has been redefined.
"/usr/include/arpa/nameser_compat.h", line 165.9: 1506-358 (I) "C_HS" is defined on line 188 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 168.9: 1506-236 (W) Macro name C_ANY has been redefined.
"/usr/include/arpa/nameser_compat.h", line 168.9: 1506-358 (I) "C_ANY" is defined on line 191 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 244.3: 1506-334 (S) Identifier HEADER has already been defined on line 265 of "/usr/include/arpa/onameser_compat.h".
"/usr/include/arpa/nameser_compat.h", line 246.9: 1506-236 (W) Macro name GETSHORT has been redefined.
"/usr/include/arpa/nameser_compat.h", line 246.9: 1506-358 (I) "GETSHORT" is defined on line 332 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 247.9: 1506-236 (W) Macro name GETLONG has been redefined.
"/usr/include/arpa/nameser_compat.h", line 247.9: 1506-358 (I) "GETLONG" is defined on line 337 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 248.9: 1506-236 (W) Macro name PUTSHORT has been redefined.
"/usr/include/arpa/nameser_compat.h", line 248.9: 1506-358 (I) "PUTSHORT" is defined on line 345 of /usr/include/arpa/onameser_compat.h.
"/usr/include/arpa/nameser_compat.h", line 249.9: 1506-236 (W) Macro name PUTLONG has been redefined.
"/usr/include/arpa/nameser_compat.h", line 249.9: 1506-358 (I) "PUTLONG" is defined on line 350 of /usr/include/arpa/onameser_compat.h.
"ui/mtr.h", line 64.9: 1506-236 (W) Macro name MAXPATH has been redefined.
"ui/mtr.h", line 64.9: 1506-358 (I) "MAXPATH" is defined on line 126 of /usr/include/sys/param.h.
make: 1254-004 The error code from the last command is 1.
make: 1254-005 Ignored error code 1 from last command.
  CCLD     mtr
xlc: 1501-228 (W) input file ui/mtr-net.o not found
xlc: 1501-228 (W) input file ui/mtr-asn.o not found
make: 1254-004 The error code from the last command is 252.
make: 1254-005 Ignored error code 252 from last command.
  CCLD     mtr-packet
ld: 0711-317 ERROR: Undefined symbol: .error
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: 1254-004 The error code from the last command is 8.
make: 1254-005 Ignored error code 8 from last command.
Target "all-am" is up to date.
root@x066:[/data/prj/aixtools/mtr-0.93.1]

Regarding the first 'redefine': I am clueless on what to do, the differences is quite large:

root@x066:[/data/prj/aixtools/mtr-0.93.1]grep MAXPATH ui/mtr.h /usr/include/sys/param.h
ui/mtr.h:#define MAXPATH 8
/usr/include/sys/param.h: * MAXPATHLEN defines the longest permissable path length
/usr/include/sys/param.h:#define MAXPATHLEN     (PATH_MAX+1)
/usr/include/sys/param.h:#define        MAXPATH 512             /* maximum pathlength for mount args    */

@aixtools
Copy link
Author

FYI: for the first bit of double defined variables (nameser_compat.h and onameser_compt.h)

for macro in PACKETSZ MAXDNAME MAXCDNAME MAXLABEL HFIXEDSZ QFIXEDSZ RRFIXEDSZ INT32SZ INT16SZ
INADDRSZ IN6ADDRSZ INDIR_MASK NAMESERVER_PORT QUERY IQUERY STATUS NS_NOTIFY_OP
NOERROR FORMERR SERVFAIL NXDOMAIN NOTIMP; do

grep -n $macro /usr/include/arpa/onameser_compat.h /usr/include/arpa/nameser_compat.h
print ++++++
done
/usr/include/arpa/onameser_compat.h:50:#define PACKETSZ 512 /* maximum packet size /
/usr/include/arpa/nameser_compat.h:49:#define PACKETSZ NS_PACKETSZ
++++++
/usr/include/arpa/onameser_compat.h:51:#define MAXDNAME 256 /
maximum domain name /
/usr/include/arpa/nameser_compat.h:50:#define MAXDNAME NS_MAXDNAME
++++++
/usr/include/arpa/onameser_compat.h:52:#define MAXCDNAME 255 /
maximum compressed domain name /
/usr/include/arpa/nameser_compat.h:51:#define MAXCDNAME NS_MAXCDNAME
++++++
/usr/include/arpa/onameser_compat.h:53:#define MAXLABEL 63 /
maximum length of domain label /
/usr/include/arpa/nameser_compat.h:52:#define MAXLABEL NS_MAXLABEL
++++++
/usr/include/arpa/onameser_compat.h:54:#define HFIXEDSZ 12 /
#/bytes of fixed data in header /
/usr/include/arpa/nameser_compat.h:53:#define HFIXEDSZ NS_HFIXEDSZ
++++++
/usr/include/arpa/onameser_compat.h:55:#define QFIXEDSZ 4 /
#/bytes of fixed data in query /
/usr/include/arpa/nameser_compat.h:54:#define QFIXEDSZ NS_QFIXEDSZ
++++++
/usr/include/arpa/onameser_compat.h:56:#define RRFIXEDSZ 10 /
#/bytes of fixed data in r record /
/usr/include/arpa/nameser_compat.h:55:#define RRFIXEDSZ NS_RRFIXEDSZ
++++++
/usr/include/arpa/onameser_compat.h:57:#define INT32SZ 4 /
for systems without 32-bit ints /
/usr/include/arpa/nameser_compat.h:56:#define INT32SZ NS_INT32SZ
++++++
/usr/include/arpa/onameser_compat.h:58:#define INT16SZ 2 /
for systems without 16-bit ints /
/usr/include/arpa/nameser_compat.h:57:#define INT16SZ NS_INT16SZ
++++++
/usr/include/arpa/onameser_compat.h:59:#define INADDRSZ 4 /
for sizeof(struct inaddr) != 4 /
/usr/include/arpa/nameser_compat.h:58:#define INADDRSZ NS_INADDRSZ
++++++
/usr/include/arpa/onameser_compat.h:60:#define IN6ADDRSZ 16 /
for sizeof(struct inaddr6) != 16 /
/usr/include/arpa/nameser_compat.h:59:#define IN6ADDRSZ NS_IN6ADDRSZ
++++++
/usr/include/arpa/onameser_compat.h:300:#define INDIR_MASK 0xc0
/usr/include/arpa/nameser_compat.h:60:#define INDIR_MASK NS_CMPRSFLGS
++++++
/usr/include/arpa/onameser_compat.h:65:#define NAMESERVER_PORT 53
/usr/include/arpa/nameser_compat.h:61:#define NAMESERVER_PORT NS_DEFAULTPORT
++++++
/usr/include/arpa/onameser_compat.h:70:#define QUERY 0x0 /
standard query /
/usr/include/arpa/onameser_compat.h:71:#define IQUERY 0x1 /
inverse query /
/usr/include/arpa/onameser_compat.h:268:/
for Dynamic Updates, the QUERY header is reused /
/usr/include/arpa/nameser_compat.h:76:#define QUERY ns_o_query
/usr/include/arpa/nameser_compat.h:77:#define IQUERY ns_o_iquery
++++++
/usr/include/arpa/onameser_compat.h:71:#define IQUERY 0x1 /
inverse query /
/usr/include/arpa/nameser_compat.h:77:#define IQUERY ns_o_iquery
++++++
/usr/include/arpa/onameser_compat.h:72:#define STATUS 0x2 /
nameserver status query /
/usr/include/arpa/nameser_compat.h:78:#define STATUS ns_o_status
++++++
/usr/include/arpa/onameser_compat.h:74:#define NS_NOTIFY_OP 0x4 /
notify secondary of SOA change /
/usr/include/arpa/nameser_compat.h:79:#define NS_NOTIFY_OP ns_o_notify
++++++
/usr/include/arpa/onameser_compat.h:114:#define NOERROR 0 /
no error /
/usr/include/arpa/nameser_compat.h:82:#define NOERROR ns_r_noerror
++++++
/usr/include/arpa/onameser_compat.h:115:#define FORMERR 1 /
format error /
/usr/include/arpa/nameser_compat.h:83:#define FORMERR ns_r_formerr
++++++
/usr/include/arpa/onameser_compat.h:116:#define SERVFAIL 2 /
server failure /
/usr/include/arpa/nameser_compat.h:84:#define SERVFAIL ns_r_servfail
++++++
/usr/include/arpa/onameser_compat.h:117:#define NXDOMAIN 3 /
non existent domain /
/usr/include/arpa/nameser_compat.h:85:#define NXDOMAIN ns_r_nxdomain
++++++
/usr/include/arpa/onameser_compat.h:118:#define NOTIMP 4 /
not implemented */
/usr/include/arpa/nameser_compat.h:86:#define NOTIMP ns_r_notimpl
++++++

@aixtools
Copy link
Author

asn.lst.txt

Here is a verbose listing of the 'include' logic processing.

@rewolff
Copy link
Collaborator

rewolff commented Sep 22, 2020

The "#ifndef _H_PARAM " is clearly not working. The warning below (from your list of warnings/errors reports that MAXPATH is redefined on line 126 of param.h where the previous definition was on... wait for it... line 126 of param.h. (Yeah, consider my params/param a typo. )

"/usr/include/sys/param.h", line 126.9: 1506-236 (W) Macro name MAXPATH has been redefined.
"/usr/include/sys/param.h", line 126.9: 1506-358 (I) "MAXPATH" is defined on line 64 of ui/mtr.h.

If your compiler (whatever it is called) doesn't accept // as a comment, then it is WAY too old to be usable. You're free to use another compiler then.

I'm an oldfashioned guy and I refused to use // as the new comment symbol into the 2000's but it has been in the accepted C standard since before 2000. Maybe IBM has to maintain compatibility with old software for some reason, but a compiler that doesn't accept // is not from this century.

@aixtools
Copy link
Author

aixtools commented Sep 22, 2020 via email

@aixtools
Copy link
Author

I'm an oldfashioned guy and I refused to use // as the new comment symbol into the 2000's but it has been in the accepted C standard since before 2000. Maybe IBM has to maintain compatibility with old software for some reason, but a compiler that doesn't accept // is not from this century.

The xlc compiler has MANY modes.

When using "cc" it is pre-c88 standard, there is c99 (for c99 standards) - and there are options to add things such as '//' as comments.

My comment was clearly no criticism. Just a comment - something I had missed because I rarely call ./configure directly. (I have scripts that set CC, CFLAGS, LDFLAGS, etc. before calling .configure and make.

My apologies for any misunderstanding.

@rewolff
Copy link
Collaborator

rewolff commented Sep 22, 2020

My apologies for any misunderstanding.

I maintain that it is odd to "start" in the "oldfashioned" mode and not "propagate" modern syntax by starting the the more modern mode.

Maybe they are right. If they upgrade the compiler and old stuff doesn't compile anymore, then people might say: "Hmm you broke the old programs", and that's precisely what IBM doesn't want. But as far as I know everybody else does it the other way around: THe new syntax is the default.

@aixtools
Copy link
Author

aixtools commented Sep 22, 2020 via email

@rewolff
Copy link
Collaborator

rewolff commented Sep 22, 2020

IMHO, it should "just compile" on any Unix system built this century. That's the goal at least. On the other hand, if nobody tries it, things tend to "bitrot". Someone uses a construct that is valid on everything except on the one system that isn't tested....

@aixtools
Copy link
Author

aixtools commented Sep 22, 2020 via email

@rewolff
Copy link
Collaborator

rewolff commented Sep 22, 2020

GNU -> Linux / BSD.
Linux copied the functions from BSD. GNU has little to do with it except that they wrote a licence that is often used (and also on that header).

@aixtools
Copy link
Author

aixtools commented Sep 22, 2020 via email

@aixtools
Copy link
Author

aixtools commented Sep 22, 2020 via email

@yvs2014
Copy link

yvs2014 commented Sep 22, 2020

I have been looking on a Linux system (to see what is in ifaddrs.h. That is a GNU thing - and AIX does not have it. No idea how hard it will be to use the classic socket calls.

If it's the main issue on the AIX system, what about to try to build previous mtr version just for a test?
(as one can see, 0.92 version goes without using the ifaddrs.h header file)

@rewolff
Copy link
Collaborator

rewolff commented Sep 22, 2020

I've requested an account at gccfarm.

@aixtools
Copy link
Author

aixtools commented Sep 23, 2020 via email

@aixtools
Copy link
Author

aixtools commented Sep 23, 2020 via email

@aixtools
Copy link
Author

aixtools commented Sep 23, 2020 via email

@aixtools
Copy link
Author

aixtools commented Sep 23, 2020 via email

@aixtools
Copy link
Author

aixtools commented Sep 23, 2020 via email

@rewolff
Copy link
Collaborator

rewolff commented Sep 23, 2020

How long ago was 'error()' added?

Clone the git (I think you have that) and then use "git blame" on the file that contains the "error ()" call and look for the line...

(en goede middag!  in hope that rewolff is, indeed Roger Wolff)

Dan prefereer ik dat je "Rogier" schrijft. (Als je de Nederlandse 'g' kan uitspreken, zacht of niet maakt me niet uit. Buitenlanders moeten "Roger" schrijven).

OK, for the MAXPATH issue - I have a simple fix:

OK. Applied. (If we run into trouble again with another system using MAX_PATH, we should go with "MTR_MAX_PATH" or something better, I think it is not the maximum route-path that the name implies).

gcc119@fsffrance.org: Permission denied (publickey).

Waiting....

@yvs2014
Copy link

yvs2014 commented Sep 23, 2020

:) What a great idea!

Idk, for ex. mtr-0.85 is still quite good to me in most cases.
Anyway, it's about one line in configure.ac to avoid its use in current version (of course by using that autoconf stuff :)):

diff --git a/configure.ac b/configure.ac
index 3175d56..a014b93 100644
--- a/configure.ac
+++ b/configure.ac
@@ -60,6 +60,7 @@ AC_CHECK_HEADERS([ \
   sys/types.h \
   sys/xti.h \
   values.h \
+  ifaddrs.h \
 ])
 
 # Check functions.

plus a couple macro bindings in code:

diff --git a/ui/mtr.c b/ui/mtr.c
index b33a136..50226b5 100644
--- a/ui/mtr.c
+++ b/ui/mtr.c
@@ -112,8 +112,10 @@ static void __attribute__ ((__noreturn__)) usage(FILE * out)
           out);
     fputs(" -T, --tcp                  use TCP instead of ICMP echo\n",
           out);
+#ifdef HAVE_IFADDRS_H
     fputs(" -I, --interface NAME       use named network interface\n",
          out);
+#endif
     fputs
         (" -a, --address ADDRESS      bind the outgoing socket to ADDRESS\n",
          out);
@@ -370,7 +372,9 @@ static void parse_arg(
         {"bitpattern", 1, NULL, 'B'},   /* overload B>255, ->rand(0,255) */
         {"tos", 1, NULL, 'Q'},  /* typeof service (0,255) */
         {"mpls", 0, NULL, 'e'},
+#ifdef HAVE_IFADDRS_H
         {"interface", 1, NULL, 'I'},
+#endif
         {"address", 1, NULL, 'a'},
         {"first-ttl", 1, NULL, 'f'},    /* -f & -m are borrowed from traceroute */
         {"max-ttl", 1, NULL, 'm'},
@@ -472,9 +476,11 @@ static void parse_arg(
             ctl->cpacketsize =
                 strtonum_or_err(optarg, "invalid argument", STRTO_INT);
             break;
+#ifdef HAVE_IFADDRS_H
         case 'I':
             ctl->InterfaceName = optarg;
             break;
+#endif
         case 'a':
             ctl->InterfaceAddress = optarg;
             break;
diff --git a/ui/mtr.h b/ui/mtr.h
index 01536f5..19b0896 100644
--- a/ui/mtr.h
+++ b/ui/mtr.h
@@ -83,7 +83,9 @@ struct mtr_ctl {
     float WaitTime;
     float GraceTime;
     char *Hostname;
+#ifdef HAVE_IFADDRS_H
     char *InterfaceName;
+#endif
     char *InterfaceAddress;
     char LocalHostname[128];
     int ipinfo_no;
diff --git a/ui/net.c b/ui/net.c
index f684b3e..6ac9cd4 100644
--- a/ui/net.c
+++ b/ui/net.c
@@ -20,7 +20,9 @@
 
 #include <errno.h>
 #include <sys/types.h>
+#ifdef HAVE_IFADDRS_H
 #include <ifaddrs.h>
+#endif
 #include <math.h>
 #include <stdlib.h>
 #include <string.h>
@@ -619,6 +621,7 @@ static void net_validate_interface_address(
 }
 
 
+#ifdef HAVE_IFADDRS_H
 /*
     Given the name of a network interface and a preferred address
     family (IPv4 or IPv6), find the source IP address for sending
@@ -672,6 +675,7 @@ static void net_find_interface_address_from_name(
         error(EXIT_FAILURE, 0, "interface missing address");
     }
 }
+#endif
 
 
 /*
@@ -748,10 +752,12 @@ int net_open(
 
     if (ctl->InterfaceAddress) {
         net_validate_interface_address(ctl->af, ctl->InterfaceAddress);
+#ifdef HAVE_IFADDRS_H
     } else if (ctl->InterfaceName) {
         net_find_interface_address_from_name(
             &sourcesockaddr_struct, ctl->af, ctl->InterfaceName);
         inet_ntop(sourcesockaddr->sa_family, sockaddr_addr_offset(sourcesockaddr), localaddr, sizeof(localaddr));
+#endif
     } else {
         net_find_local_address();
     }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants