Nmap Development mailing list archives

Re: nmap 6.47 compile failure on AIX 7100-03


From: Kevin Brott <kevin.brott () gmail com>
Date: Wed, 10 Sep 2014 12:27:36 -0700

On Wed, Sep 10, 2014 at 10:05 AM, Daniel Miller <bonsaiviking () gmail com>
wrote:

On Tue, Sep 9, 2014 at 12:06 AM, Daniel Miller <bonsaiviking () gmail com>
wrote:

Kevin,

I had already committed almost that exact fix in r33660. Now r33661
solves an interaction I had with the older version of GCC that is available
on the AIX system I'm testing on. At this point, Nmap compiles but fails to
scan:

./nmap --iflist

Starting Nmap 6.47SVN ( http://nmap.org ) at 2014-09-09 00:00 CDT
INTERFACES: NONE FOUND(!)
ROUTES: NONE FOUND(!)


I will continue to work on this as time permits.

Dan


Kevin,

As of r33665, Nmap compiles and runs on AIX with a few bugs:

* Features involving libpcap do not seem to work outside localhost, but
that may be an artifact of my environment. If you can, please try this
command out (as root) and reply with the output: nmap -A -d
scanme.nmap.org


r33665 won't compile FPEngine.o now on my system ...

$ svn co https://svn.nmap.org/nmap
Checked out revision 33665.

./configure --build=powerpc-ibm-aix7.1.0.0 \
  --with-liblinear=included --with-liblua=included \
  --with-libdnet=included   --with-libpcre=included \
  --with-libpcap=included && echo OK || echo FAIL
...
...
libdnet-stripped
...


configure: WARNING: net/radix.h: present but cannot be compiled
configure: WARNING: netinet/in_var.h: present but cannot be compiled

configure: WARNING: netinet/in6_var.h: present but cannot be compiled
...

Configuration complete.  Type make (or gmake on some *BSD machines) to
compile.
OK
$ gmake
...
g++ -c -I./liblinear -I./liblua -I./libdnet-stripped/include -I./libpcre
-I./libpcap -I./nbase -I./nsock/include -DHAVE_CONFIG_H
-DNMAP_NAME=\"Nmap\" -DNMAP_URL=\"http://nmap.org\";
-DNMAP_PLATFORM=\"powerpc-ibm-aix7.1.0.0\"
-DNMAPDATADIR=\"/opt/nmap/share/nmap\" -D_FORTIFY_SOURCE=2 -g -O2 -Wall
-fno-strict-aliasing   FPEngine.cc -o FPEngine.o
In file included from ./nbase/nbase.h:177,
                 from nmap.h:148,
                 from FPEngine.h:132,
                 from FPEngine.cc:127:
/usr/include/unistd.h:201: error: declaration of C function 'off64_t
lseek64(int, off64_t, int)' conflicts with
/usr/include/unistd.h:199: error: previous declaration 'off_t lseek64(int,
off_t, int)' here
In file included from /usr/include/unistd.h:847,
                 from ./nbase/nbase.h:177,
                 from nmap.h:148,
                 from FPEngine.h:132,
                 from FPEngine.cc:127:
/usr/include/sys/lockf.h:64: error: declaration of C function 'int
lockf64(int, int, off64_t)' conflicts with
/usr/include/sys/lockf.h:62: error: previous declaration 'int lockf64(int,
int, off_t)' here
In file included from ./nbase/nbase.h:177,
                 from nmap.h:148,
                 from FPEngine.h:132,
                 from FPEngine.cc:127:
/usr/include/unistd.h:920: error: declaration of C function 'int
ftruncate64(int, off64_t)' conflicts with
/usr/include/unistd.h:918: error: previous declaration 'int
ftruncate64(int, off_t)' here
/usr/include/unistd.h:977: error: declaration of C function 'int
truncate64(const char*, off64_t)' conflicts with
/usr/include/unistd.h:975: error: previous declaration 'int
truncate64(const char*, off_t)' here
/usr/include/unistd.h:996: error: declaration of C function 'ssize_t
pread64(int, void*, size_t, off64_t)' conflicts with
/usr/include/unistd.h:993: error: previous declaration 'ssize_t
pread64(int, void*, size_t, off_t)' here
/usr/include/unistd.h:997: error: declaration of C function 'ssize_t
pwrite64(int, const void*, size_t, off64_t)' conflicts with
/usr/include/unistd.h:994: error: previous declaration 'ssize_t
pwrite64(int, const void*, size_t, off_t)' here
/usr/include/unistd.h:1082: error: declaration of C function 'off64_t
fclear64(int, off64_t)' conflicts with
/usr/include/unistd.h:1079: error: previous declaration 'off_t
fclear64(int, off_t)' here
/usr/include/unistd.h:1083: error: declaration of C function 'int
fsync_range64(int, int, off64_t, off64_t)' conflicts with
/usr/include/unistd.h:1080: error: previous declaration 'int
fsync_range64(int, int, off_t, off_t)' here
gmake[1]: *** [FPEngine.o] Error 1
gmake[1]: Leaving directory `/lppdir/build/nmap'
gmake: *** [all] Error 2
...

I checked out 33660, just to see if there was a difference in behaviour ...
and it builds to completion without issue ... but fails 'gmake check' at:
calloc: Error 0
gmake[1]: *** [check] Error 2

But as root:

# ./nmap --iflist

Starting Nmap 6.47SVN ( http://nmap.org ) at 2014-09-10 12:16 PDT
INTERFACES: NONE FOUND(!)
ROUTES: NONE FOUND(!)

$ ./nmap -A -d scanme.nmap.org

Starting Nmap 6.47SVN ( http://nmap.org ) at 2014-09-10 12:17 PDT
PORTS: Using top 1000 ports found open (TCP:1000, UDP:0, SCTP:0)
--------------- Timing report ---------------
  hostgroups: min 1, max 100000
  rtt-timeouts: init 1000, min 100, max 10000
  max-scan-delay: TCP 1000, UDP 1000, SCTP 1000
  parallelism: min 0, max 0
  max-retries: 10, host-timeout: 0
  min-rate: 0, max-rate: 0
---------------------------------------------
NSE: Using Lua 5.2.
NSE: Arguments from CLI:
NSE: Loaded 120 scripts for scanning.
NSE: Script Pre-scanning.
NSE: Starting runlevel 1 (of 2) scan.
Initiating NSE at 12:17
Completed NSE at 12:17, 0.00s elapsed
NSE: Starting runlevel 2 (of 2) scan.
Initiating NSE at 12:17
Completed NSE at 12:17, 0.00s elapsed
route_dst_generic: Failed to obtain system routes: getsysroutes_dnet:
sysroutes_dnet_find_interfaces() failed


r33661 appears to be where the break is - as it doesn't build FPEngine.o
either.

-- 
# include <stddisclaimer.h>
/* Kevin  Brott <Kevin.Brott () gmail com> */
_______________________________________________
Sent through the dev mailing list
http://nmap.org/mailman/listinfo/dev
Archived at http://seclists.org/nmap-dev/


Current thread: