Issues cross-compiling nmap-4.68

View: New views
2 Messages — Rating Filter:   Alert me  

Issues cross-compiling nmap-4.68

by Philip A. Prindeville :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

Re: Issues cross-compiling nmap-4.68

by David Fifield :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Jul 17, 2008 at 11:03:41AM -0700, Philip Prindeville wrote:
> 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:

Nmap requires libpcap, so you can't just exclude it. Does it work to
configure with "--with-libpcap=included"? It appears that will skip the
AC_TRY_RUN check that doesn't work when cross-compiling.

David Fifield

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