Nmap Development mailing list archives
Problems with compiling nmap 6.40 on AIX
From: mamfelt <mamfelt () gmail com>
Date: Thu, 17 Oct 2013 09:12:32 +0200
1) Yes, I was using xlc - I just read that you do not support xlC. Am very curious to understand why why only gcc is supported. I am beginning to get the feeling that GNU is trying to become it's own standards body. And if not GNU itself, then the users of GNU may succeed in this by using a feature only in a GNU product library, and then saying "we dont support international standards such as POSIX, ISO, etc.."
2) Maybe gcc supplies it own files that override /usr/include/* on AIX (bos.adt.include) - as the problem I am getting concerns macro name collision.
"/usr/include/netinet/ip_icmp.h", line 88.9: 1540-0848 (S) The macro name "icmp_pptr" is already defined with a different definition. "./libdnet-stripped/include/dnet/icmp.h", line 133.9: 1540-0425 (I) "icmp_pptr" is defined on line 133 of "./libdnet-stripped/include/dnet/icmp.h". "/usr/include/netinet/ip_icmp.h", line 89.9: 1540-0848 (S) The macro name "icmp_gwaddr" is already defined with a different definition. "./libdnet-stripped/include/dnet/icmp.h", line 132.9: 1540-0425 (I) "icmp_gwaddr" is defined on line 132 of "./libdnet-stripped/include/dnet/icmp.h". "/usr/include/netinet/ip_icmp.h", line 175.9: 1540-0848 (S) The macro name "ICMP_INFOTYPE" is already defined with a different definition. "./libdnet-stripped/include/dnet/icmp.h", line 101.9: 1540-0425 (I) "ICMP_INFOTYPE" is defined on line 101 of "./libdnet-stripped/include/dnet/icmp.h". "/usr/include/netinet/ip_icmp.h", line 88.9: 1540-0848 (S) The macro name "icmp_pptr" is already defined with a different definition. "./libdnet-stripped/include/dnet/icmp.h", line 133.9: 1540-0425 (I) "icmp_pptr" is defined on line 133 of "./libdnet-stripped/include/dnet/icmp.h". "/usr/include/netinet/ip_icmp.h", line 89.9: 1540-0848 (S) The macro name "icmp_gwaddr" is already defined with a different definition. "./libdnet-stripped/include/dnet/icmp.h", line 132.9: 1540-0425 (I) "icmp_gwaddr" is defined on line 132 of "./libdnet-stripped/include/dnet/icmp.h". "/usr/include/netinet/ip_icmp.h", line 175.9: 1540-0848 (S) The macro name "ICMP_INFOTYPE" is already defined with a different definition. "./libdnet-stripped/include/dnet/icmp.h", line 101.9: 1540-0425 (I) "ICMP_INFOTYPE" is defined on line 101 of "./libdnet-stripped/include/dnet/icmp.h". "/usr/include/netinet/ip_icmp.h", line 88.9: 1540-0848 (S) The macro name "icmp_pptr" is already defined with a different definition. "./libdnet-stripped/include/dnet/icmp.h", line 133.9: 1540-0425 (I) "icmp_pptr" is defined on line 133 of "./libdnet-stripped/include/dnet/icmp.h". "/usr/include/netinet/ip_icmp.h", line 89.9: 1540-0848 (S) The macro name "icmp_gwaddr" is already defined with a different definition. "./libdnet-stripped/include/dnet/icmp.h", line 132.9: 1540-0425 (I) "icmp_gwaddr" is defined on line 132 of "./libdnet-stripped/include/dnet/icmp.h". "/usr/include/netinet/ip_icmp.h", line 175.9: 1540-0848 (S) The macro name "ICMP_INFOTYPE" is already defined with a different definition. "./libdnet-stripped/include/dnet/icmp.h", line 101.9: 1540-0425 (I) "ICMP_INFOTYPE" is defined on line 101 of "./libdnet-stripped/include/dnet/icmp.h".
make: *** [makefile.dep] Error 1 from nmap: /* * Unreachable, source quench, redirect, time exceeded, * parameter problem message data */ struct icmp_msg_quote { uint32_t icmp_void; /* must be zero */#define icmp_gwaddr icmp_void /* router IP address to use */
#define icmp_pptr icmp_void /* ptr to bad octet field */uint8_t icmp_ip __flexarr; /* IP hdr + 8 bytes of pkt */
}; from IBM/AIX (5.3 TL07) include files: (excerpt)/* @(#)52 1.10 src/bos/kernext/inet/ip_icmp.h, sockinc, bos530 12/12/00 11:16:35 */
/* * COMPONENT_NAME: SYSXINET * * FUNCTIONS: ICMP_ADVLEN * ICMP_INFOTYPE * * * ORIGINS: 26,27,85,127 * * * (C) COPYRIGHT International Business Machines Corp. 1988,1996 * All Rights Reserved * Licensed Materials - Property of IBM * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /icmp_pptr union { u_char ih_pptr; /* ICMP_PARAMPROB */ struct in_addr ih_gwaddr; /* ICMP_REDIRECT */ struct ih_idseq { n_short icd_id; n_short icd_seq; } ih_idseq; int ih_void; /* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */ struct ih_pmtu { n_short ipm_void; n_short ipm_nextmtu; } ih_pmtu; } icmp_hun; #define icmp_pptr icmp_hun.ih_pptr #define icmp_gwaddr icmp_hun.ih_gwaddr #define icmp_id icmp_hun.ih_idseq.icd_id #define icmp_seq icmp_hun.ih_idseq.icd_seq #define icmp_void icmp_hun.ih_void #define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void #define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu union { struct id_ts { n_time its_otime; n_time its_rtime; n_time its_ttime; } id_ts; struct ip_extid { ===Note: I can switch to gcc - I have a second vm setup just for that. I would rather not go that way as I have been learning that some gnu libraries, when compiled with gcc end up requiring everything to be compiled in gcc. Somewhere, no idea why, som gnu product libraries build-in compiler dependancies. Very un-portable for something that presumes to be an API.
Anyway, I would much rather find a way to port this to AIX rather than rediscover parts of it.
And, I am honestly curious why non-gnu cc support is so limited in the (or perhaps "parts of" is more accurate) "open source" community.
regards, Michael _______________________________________________ Sent through the dev mailing list http://nmap.org/mailman/listinfo/dev Archived at http://seclists.org/nmap-dev/
Current thread:
- Problems with compiling nmap 6.40 on AIX mamfelt (Oct 17)