Nmap Development mailing list archives

Re: nping/libpcap build error


From: Patrick Donnelly <batrick () batbytes com>
Date: Tue, 14 Feb 2012 10:14:02 -0500

On Mon, Feb 13, 2012 at 10:00 PM, David Fifield <david () bamsoftware com> wrote:
On Mon, Feb 13, 2012 at 09:43:13PM -0500, Patrick Donnelly wrote:
Hi list,

I'm experiencing a strange error building nmap in the trunk:

gcc -o ncat -g -O2 -Wall -L../libpcap  ncat_main.o ncat_connect.o
ncat_core.o ncat_posix.o ncat_listen.o ncat_proxy.o ncat_ssl.o
base64.o http.o util.o sys_wrap.o http_digest.o
../nsock/src/libnsock.a ../nbase/libnbase.a -lssl -lcrypto -lpcap
-lssl -lcrypto -ldl
../libpcap/libpcap.a(pcap-linux.o): In function `nl80211_init':
nmap/svn/nmap/libpcap/./pcap-linux.c:515: undefined reference to
`nl_handle_alloc'
nmap/svn/nmap/libpcap/./pcap-linux.c:522: undefined reference to `genl_connect'
nmap/svn/nmap/libpcap/./pcap-linux.c:528: undefined reference to
`genl_ctrl_alloc_cache'
nmap/svn/nmap/libpcap/./pcap-linux.c:535: undefined reference to
`genl_ctrl_search_by_name'
nmap/svn/nmap/libpcap/./pcap-linux.c:547: undefined reference to
`nl_handle_destroy'
nmap/svn/nmap/libpcap/./pcap-linux.c:545: undefined reference to `nl_cache_free'
../libpcap/libpcap.a(pcap-linux.o): In function `nl80211_cleanup':
nmap/svn/nmap/libpcap/./pcap-linux.c:554: undefined reference to
`genl_family_put'
nmap/svn/nmap/libpcap/./pcap-linux.c:555: undefined reference to `nl_cache_free'
../libpcap/libpcap.a(pcap-linux.o): In function `del_mon_if':
nmap/svn/nmap/libpcap/./pcap-linux.c:653: undefined reference to `nlmsg_alloc'
nmap/svn/nmap/libpcap/./pcap-linux.c:660: undefined reference to
`genl_family_get_id'
nmap/svn/nmap/libpcap/./pcap-linux.c:660: undefined reference to `genlmsg_put'
nmap/svn/nmap/libpcap/./pcap-linux.c:662: undefined reference to `nla_put'
nmap/svn/nmap/libpcap/./pcap-linux.c:664: undefined reference to
`nl_send_auto_complete'
nmap/svn/nmap/libpcap/./pcap-linux.c:685: undefined reference to
`nl_wait_for_ack'
nmap/svn/nmap/libpcap/./pcap-linux.c:692: undefined reference to `nlmsg_free'
nmap/svn/nmap/libpcap/./pcap-linux.c:702: undefined reference to `nlmsg_free'
nmap/svn/nmap/libpcap/./pcap-linux.c:710: undefined reference to `nlmsg_free'
nmap/svn/nmap/libpcap/./pcap-linux.c:717: undefined reference to `nlmsg_free'
../libpcap/libpcap.a(pcap-linux.o): In function `add_mon_if':
nmap/svn/nmap/libpcap/./pcap-linux.c:571: undefined reference to `nlmsg_alloc'
nmap/svn/nmap/libpcap/./pcap-linux.c:578: undefined reference to
`genl_family_get_id'
nmap/svn/nmap/libpcap/./pcap-linux.c:578: undefined reference to `genlmsg_put'
nmap/svn/nmap/libpcap/./pcap-linux.c:580: undefined reference to `nla_put'
nmap/svn/nmap/libpcap/./pcap-linux.c:581: undefined reference to `nla_put'
nmap/svn/nmap/libpcap/./pcap-linux.c:582: undefined reference to `nla_put'
nmap/svn/nmap/libpcap/./pcap-linux.c:584: undefined reference to
`nl_send_auto_complete'
nmap/svn/nmap/libpcap/./pcap-linux.c:605: undefined reference to
`nl_wait_for_ack'
nmap/svn/nmap/libpcap/./pcap-linux.c:612: undefined reference to `nlmsg_free'
nmap/svn/nmap/libpcap/./pcap-linux.c:622: undefined reference to `nlmsg_free'
nmap/svn/nmap/libpcap/./pcap-linux.c:630: undefined reference to `nlmsg_free'
nmap/svn/nmap/libpcap/./pcap-linux.c:637: undefined reference to `nlmsg_free'
../libpcap/libpcap.a(pcap-linux.o): In function `nl80211_cleanup':
nmap/svn/nmap/libpcap/./pcap-linux.c:556: undefined reference to
`nl_handle_destroy'
collect2: ld returned 1 exit status
make[1]: *** [ncat] Error 1
make[1]: Leaving directory `nmap/svn/nmap/ncat'
make: *** [ncat_build] Error 2

Anyone know how to fix this? I'm building on Archlinux x86_64 using
kernel 3.2.1.

It's a longstanding bug. You have to make it link with -lnl. Here's a
workaround:
       http://seclists.org/nmap-dev/2011/q3/448
(svn merge -c -23163)

After running this command (on the latest version of the trunk):

$ svn merge -c -23163 https://svn.nmap.org/nmap
--- Reverse-merging r23163 into '.':
U    configure.ac
Conflict discovered in '/home/batrick/nmap/svn/nmap/configure'.
Select: (p) postpone, (df) diff-full, (e) edit,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: tc
U    configure
Conflict discovered in '/home/batrick/nmap/svn/nmap/CHANGELOG'.
Select: (p) postpone, (df) diff-full, (e) edit,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: tc
U    CHANGELOG
--- Recording mergeinfo for reverse merge of r23163 into '.':
 U   .
--- Eliding mergeinfo from 'macosx/nmap.pmdoc/04ndiff-contents.xml':
 U   macosx/nmap.pmdoc/04ndiff-contents.xml
--- Eliding mergeinfo from 'macosx/nmap.pmdoc/04ndiff.xml':
 U   macosx/nmap.pmdoc/04ndiff.xml
--- Eliding mergeinfo from 'ncat/ncat_posix.c':
 U   ncat/ncat_posix.c
--- Eliding mergeinfo from 'nse_openssl.cc':
 U   nse_openssl.cc
--- Eliding mergeinfo from 'nse_openssl.h':
 U   nse_openssl.h
--- Eliding mergeinfo from 'scripts/asn-query.nse':
 U   scripts/asn-query.nse
--- Eliding mergeinfo from 'scripts/auth-owners.nse':
 U   scripts/auth-owners.nse
--- Eliding mergeinfo from 'scripts/auth-spoof.nse':
 U   scripts/auth-spoof.nse
--- Eliding mergeinfo from 'scripts/daytime.nse':
 U   scripts/daytime.nse
--- Eliding mergeinfo from 'scripts/dns-random-srcport.nse':
 U   scripts/dns-random-srcport.nse
--- Eliding mergeinfo from 'scripts/dns-random-txid.nse':
 U   scripts/dns-random-txid.nse
--- Eliding mergeinfo from 'scripts/dns-recursion.nse':
 U   scripts/dns-recursion.nse
--- Eliding mergeinfo from 'scripts/dns-zone-transfer.nse':
 U   scripts/dns-zone-transfer.nse
--- Eliding mergeinfo from 'scripts/ftp-anon.nse':
 U   scripts/ftp-anon.nse
--- Eliding mergeinfo from 'scripts/ftp-bounce.nse':
 U   scripts/ftp-bounce.nse
--- Eliding mergeinfo from 'scripts/ftp-brute.nse':
 U   scripts/ftp-brute.nse
--- Eliding mergeinfo from 'scripts/http-iis-webdav-vuln.nse':
 U   scripts/http-iis-webdav-vuln.nse
--- Eliding mergeinfo from 'scripts/http-open-proxy.nse':
 U   scripts/http-open-proxy.nse
--- Eliding mergeinfo from 'scripts/http-passwd.nse':
 U   scripts/http-passwd.nse
--- Eliding mergeinfo from 'scripts/http-robots.txt.nse':
 U   scripts/http-robots.txt.nse
--- Eliding mergeinfo from 'scripts/http-title.nse':
 U   scripts/http-title.nse
--- Eliding mergeinfo from 'scripts/http-trace.nse':
 U   scripts/http-trace.nse
--- Eliding mergeinfo from 'scripts/iax2-version.nse':
 U   scripts/iax2-version.nse
--- Eliding mergeinfo from 'scripts/irc-info.nse':
 U   scripts/irc-info.nse
--- Eliding mergeinfo from 'scripts/ms-sql-info.nse':
 U   scripts/ms-sql-info.nse
--- Eliding mergeinfo from 'scripts/mysql-info.nse':
 U   scripts/mysql-info.nse
--- Eliding mergeinfo from 'scripts/pop3-brute.nse':
 U   scripts/pop3-brute.nse
--- Eliding mergeinfo from 'scripts/pop3-capabilities.nse':
 U   scripts/pop3-capabilities.nse
--- Eliding mergeinfo from 'scripts/pptp-version.nse':
 U   scripts/pptp-version.nse
--- Eliding mergeinfo from 'scripts/realvnc-auth-bypass.nse':
 U   scripts/realvnc-auth-bypass.nse
--- Eliding mergeinfo from 'scripts/skypev2-version.nse':
 U   scripts/skypev2-version.nse
--- Eliding mergeinfo from 'scripts/smb-enum-domains.nse':
 U   scripts/smb-enum-domains.nse
--- Eliding mergeinfo from 'scripts/smb-enum-sessions.nse':
 U   scripts/smb-enum-sessions.nse
--- Eliding mergeinfo from 'scripts/smb-enum-shares.nse':
 U   scripts/smb-enum-shares.nse
--- Eliding mergeinfo from 'scripts/smb-enum-users.nse':
 U   scripts/smb-enum-users.nse
--- Eliding mergeinfo from 'scripts/smb-os-discovery.nse':
 U   scripts/smb-os-discovery.nse
--- Eliding mergeinfo from 'scripts/smb-server-stats.nse':
 U   scripts/smb-server-stats.nse
--- Eliding mergeinfo from 'scripts/smb-system-info.nse':
 U   scripts/smb-system-info.nse
--- Eliding mergeinfo from 'scripts/smtp-commands.nse':
 U   scripts/smtp-commands.nse
--- Eliding mergeinfo from 'scripts/smtp-open-relay.nse':
 U   scripts/smtp-open-relay.nse
--- Eliding mergeinfo from 'scripts/smtp-strangeport.nse':
 U   scripts/smtp-strangeport.nse
--- Eliding mergeinfo from 'scripts/sniffer-detect.nse':
 U   scripts/sniffer-detect.nse
--- Eliding mergeinfo from 'scripts/snmp-brute.nse':
 U   scripts/snmp-brute.nse
--- Eliding mergeinfo from 'scripts/snmp-sysdescr.nse':
 U   scripts/snmp-sysdescr.nse
--- Eliding mergeinfo from 'scripts/sql-injection.nse':
 U   scripts/sql-injection.nse
--- Eliding mergeinfo from 'scripts/ssh-hostkey.nse':
 U   scripts/ssh-hostkey.nse
--- Eliding mergeinfo from 'scripts/sshv1.nse':
 U   scripts/sshv1.nse
--- Eliding mergeinfo from 'scripts/sslv2.nse':
 U   scripts/sslv2.nse
--- Eliding mergeinfo from 'scripts/telnet-brute.nse':
 U   scripts/telnet-brute.nse
--- Eliding mergeinfo from 'scripts/upnp-info.nse':
 U   scripts/upnp-info.nse
--- Eliding mergeinfo from
'zenmap/share/zenmap/locale/pt_BR/LC_MESSAGES/zenmap.mo':
 U   zenmap/share/zenmap/locale/pt_BR/LC_MESSAGES/zenmap.mo
--- Eliding mergeinfo from 'zenmap/share/zenmap/locale/pt_BR.po':
 U   zenmap/share/zenmap/locale/pt_BR.po
--- Eliding mergeinfo from 'zenmap/share/zenmap/locale/zenmap.pot':
 U   zenmap/share/zenmap/locale/zenmap.pot
--- Eliding mergeinfo from 'zenmap/zenmapCore/NmapOptions.py':
 U   zenmap/zenmapCore/NmapOptions.py
--- Eliding mergeinfo from 'zenmap/zenmapCore/ScriptArgsParser.py':
 U   zenmap/zenmapCore/ScriptArgsParser.py
--- Eliding mergeinfo from 'zenmap/zenmapCore/ScriptMetadata.py':
 U   zenmap/zenmapCore/ScriptMetadata.py
--- Eliding mergeinfo from 'zenmap/zenmapGUI/higwidgets':
 U   zenmap/zenmapGUI/higwidgets
--- Eliding mergeinfo from '.':
 U   .

I still get the build error. Am I doing something wrong?

-- 
- Patrick Donnelly
_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://seclists.org/nmap-dev/

Current thread: