Nmap Development mailing list archives
Issues cross-compiling nmap-4.68
From: Philip Prindeville <philipp () redfish-solutions com>
Date: Thu, 17 Jul 2008 11:03:41 -0700
Hi.
I'm trying to build nmap in the astlinux project, and we're trying to
run configure as --with-libpcap=no but we're seeing:
( \
cd /home/philipp/trunk2/build_i586/nmap-4.68 ; \
autoconf ; \
BUILD_CC=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-gcc HOSTCC="gcc" \
PATH=/home/philipp/trunk2/build_i586/staging_dir/bin:/home/philipp/trunk2/toolchain_build_i586/bin:/bin:/sbin:/usr/bin:/usr/sbin
AR=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-ar
AS=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-as
LD=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-ld
NM=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-nm
CC=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-gcc
GCC=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-gcc
CXX=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-g++
CPP=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-cpp
RANLIB=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-ranlib
OBJCOPY=/home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-objcopy ac_cv_sizeof_char=1
ac_cv_sizeof_unsigned_char=1 ac_cv_sizeof_short=2 ac_cv_sizeof_short_int=2 ac_cv_sizeof_unsigned_short=2
ac_cv_sizeof_unsigned_short_int=2 ac_cv_sizeof_int=4 ac_cv_sizeof_long=4 ac_cv_sizeof_long_int=4
ac_cv_sizeof_unsigned=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_unsigned_long_int=4
ac_cv_sizeof_off_t=4 ac_cv_sizeof_size_t=4 ac_cv_sizeof_char_p=4 ac_cv_sizeof_unsigned_char_p=4 ac_cv_sizeof_voidp=4
ac_cv_sizeof_long_long=8 ac_cv_sizeof_long_long_int=8 ac_cv_sizeof_unsigned_long_long=8
ac_cv_sizeof_unsigned_long_long_int=8 ac_cv_sizeof_off64_t=8 ac_cv_sizeof_loff_t=8 \
CFLAGS="-Os -pipe -fomit-frame-pointer " \
./configure \
--target=i586-linux \
--host=i586-linux \
--build=i386-pc-linux-gnu \
--libdir=/home/philipp/trunk2/build_i586/staging_dir/lib \
--prefix=/usr \
--includedir=/home/philipp/trunk2/build_i586/staging_dir/include \
--with-liblua=included \
--without-zenmap \
--with-libpcap=no \
)
...
checking pcap.h usability... yes
checking pcap.h presence... yes
checking for pcap.h... yes
checking for pcap_datalink in -lpcap... yes
checking if libpcap version is recent enough... configure: error: cannot run test program while cross compiling
See `config.log' for more details.
make: *** [/home/philipp/trunk2/build_i586/nmap-4.68/.configured] Error 1
[philipp@tosh ~/trunk2]$
[philipp@tosh ~/trunk2]$ grep pcap build_i586/nmap-4.68/config.log
$ ./configure --target=i586-linux --host=i586-linux --build=i386-pc-linux-gnu
--libdir=/home/philipp/trunk2/build_i586/staging_dir/lib --prefix=/usr
--includedir=/home/philipp/trunk2/build_i586/staging_dir/include --with-liblua=included --without-zenmap
--with-libpcap=no
configure:6361: checking pcap.h usability
configure:6402: checking pcap.h presence
configure:6465: checking for pcap.h
configure:6478: checking for pcap_datalink in -lpcap
configure:6513: /home/philipp/trunk2/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -o conftest -Os -pipe
-fomit-frame-pointer -Ino/include -Lno/lib -Wl,-E conftest.c -lpcap >&5
configure:6573: checking if libpcap version is recent enough
ac_cv_header_pcap_h=yes
ac_cv_lib_pcap_pcap_datalink=yes
LIBS=' -lpcap'
libpcapdir='libpcap'
[philipp@tosh ~/trunk2]$
How do we make it without libpcap? Looking at the configure.ac file, it
doesn't seem to want to take "no" as an answer (literally) when building:
dnl Check whether libpcap is already available
have_libpcap=no
# By default, search for pcap library
test "${with_libpcap+set}" != "set" && with_libpcap=yes
AC_ARG_WITH(libpcap,
AC_HELP_STRING([--with-libpcap=DIR], [Look for pcap in DIR/include and DIR/libs.])
AC_HELP_STRING([--with-libpcap=included], [Always use version included with Nmap]),
[ case "$with_libpcap" in
yes)
AC_CHECK_HEADER(pcap.h,[
AC_CHECK_LIB(pcap, pcap_datalink,
[have_libpcap=yes ])])
;;
included)
have_libpcap=no
;;
*)
_cppflags=$CXXFLAGS
_ldflags=$LDFLAGS
CPPFLAGS="-I$with_libpcap/include $CPPFLAGS"
LDFLAGS="-L$with_libpcap/lib $LDFLAGS"
AC_CHECK_HEADER(pcap.h,[
AC_CHECK_LIB(pcap, pcap_datalink,
[have_libpcap=yes
LIBPCAP_INC=$with_libpcap/include
LIBPCAP_LIB=$with_libpcap/lib])])
LDFLAGS=$_ldflags
CXXFLAGS=$_cppflags
;;
esac]
)
Thanks,
-Philip
_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://SecLists.Org
Current thread:
- Issues cross-compiling nmap-4.68 Philip Prindeville (Jul 18)
- Re: Issues cross-compiling nmap-4.68 David Fifield (Jul 18)
