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: