Nmap Development mailing list archives

Re: Cross-compilation issues since revision 21030


From: David Fifield <david () bamsoftware com>
Date: Wed, 1 Dec 2010 13:30:22 -0800

On Sat, Nov 27, 2010 at 12:33:44PM -0800, Nuno Gonçalves wrote:
2010/11/27 David Fifield <david () bamsoftware com>:
On Sat, Nov 27, 2010 at 03:20:28AM -0800, Nuno Gonçalves wrote:
2010/11/24 David Fifield <david () bamsoftware com>:
I think this is fixed in r21174.

David Fifield

It was for the without-liblua case.
Actually when including liblua I get instead:

Compiling nmap
rm -f nmap
mips-openwrt-linux-uclibc-g++
-L/home/nuno/Desktop/trunk/staging_dir/target-mips_r2_uClibc-0.9.31/usr/lib
-Wl,-E -L/home/nuno/Desktop/trunk/staging_dir/target-mips_r2_uClibc-0.9.31/usr/lib
-L/home/nuno/Desktop/trunk/staging_dir/target-mips_r2_uClibc-0.9.31/lib
-L/home/nuno/Desktop/trunk/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.31/usr/lib
-L/home/nuno/Desktop/trunk/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.31/lib
 -L/home/nuno/Desktop/trunk/staging_dir/target-mips_r2_uClibc-0.9.31/usr/lib
-Lnbase -Lnsock/src/   -o nmap main.o nmap.o targets.o tcpip.o
nmap_error.o utils.o idle_scan.o osscan.o osscan2.o output.o payload.o
scan_engine.o timing.o charpool.o services.o protocols.o nmap_rpc.o
portlist.o NmapOps.o TargetGroup.o Target.o FingerPrintResults.o
service_scan.o NmapOutputTable.o MACLookup.o nmap_tty.o nmap_dns.o
traceroute.o portreasons.o xml.o   -lnbase -lnsock -lpcre -lpcap -lssl
-lcrypto libnetutil/libnetutil.a
./libdnet-stripped/src/.libs/libdnet.a  -ldl
nmap.o: In function `nmap_main(int, char**)':
nmap.cc:(.text+0x4fa0): warning: gethostbyname is obsolescent, use
getnameinfo() instead.
nmap.o: In function `nmap_free_mem()':
nmap.cc:(.text+0x1a7c): undefined reference to `close_nse()'
nmap.o: In function `nmap_main(int, char**)':
nmap.cc:(.text+0x57a4): undefined reference to `open_nse()'

Try deleting all files and rebuilding from scratch. open_nse and
close_nse are defined in nse_main.cc, so they should always be
available. For some reason your linker is not linking with nse_main.o,
which points to a problem with stale makefiles.

It is a clean revision 21198 build.
I attach the config.log and configure.ac.

It looks like the problem is this:

configure:6602: checking for lua_call in -llua
configure:6627: mips-openwrt-linux-uclibc-gcc -o conftest -Os -pipe ...
/home/nuno/Desktop/trunk/staging_dir/target-mips_r2_uClibc-0.9.31/usr/lib/liblua.so: warning: the use of OBSOLESCENT 
`utime' is discouraged, use `utimes'
/home/nuno/Desktop/trunk/staging_dir/target-mips_r2_uClibc-0.9.31/usr/lib/liblua.so: undefined reference to `crypt'
collect2: ld returned 1 exit status
configure:6627: $? = 1
configure: failed program was:

This failure with crypt is preventing LIBLUA_LIBS from being defined,
which in turn is preventing the NSE object files from being included in
Makefile.in. Maybe you can do some research to find out what the problem
with crypt is? Try commenting out the checks against LIBLUA_LIBS in
Makefile.in:

# ifneq (@LIBLUA_LIBS@,)
NSE_SRC=nse_main.cc nse_utility.cc nse_nsock.cc nse_dnet.cc nse_fs.cc nse_nmaplib.cc nse_debug.cc nse_pcrelib.cc 
nse_binlib.cc nse_bit.cc
NSE_HDRS=nse_main.h nse_utility.h nse_nsock.h nse_dnet.h nse_fs.h nse_nmaplib.h nse_debug.h nse_pcrelib.h nse_binlib.h 
nse_bit.h
NSE_OBJS=nse_main.o nse_utility.o nse_nsock.o nse_dnet.o nse_fs.o nse_nmaplib.o nse_debug.o nse_pcrelib.o nse_binlib.o 
nse_bit.o
ifneq (@OPENSSL_LIBS@,)
NSE_SRC+=nse_openssl.cc nse_ssl_cert.cc
NSE_HDRS+=nse_openssl.h nse_ssl_cert.h
NSE_OBJS+=nse_openssl.o nse_ssl_cert.o
endif
# endif

You might still run into a crypt problem when linking.

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


Current thread: