Nmap Development mailing list archives

Resend: Issues cross-compiling nmap-4.68


From: Philip Prindeville <philipp () redfish-solutions com>
Date: Tue, 22 Jul 2008 08:53:41 -0700

Anyone? We're trying to get release 0.5 finalized and this is a showstopper for us. Any assistance appreciated.

Thanks.

--- Begin Message --- 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




--- End Message ---

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

Current thread: