Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 230443 - net-analyzer/nmap-4.68 does not build without USE=lua
Summary: net-analyzer/nmap-4.68 does not build without USE=lua
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Michal Januszewski (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-02 04:18 UTC by Greg Kroah-Hartman (RETIRED)
Modified: 2008-07-03 18:59 UTC (History)
18 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to fix compilation errors with USE=-lua (nmap-4.68-nolua.patch,2.55 KB, patch)
2008-07-02 10:48 UTC, Andrew Church
Details | Diff
Ebuild patch to apply nmap-4.68-nolua.patch (nmap-4.68.ebuild.patch,252 bytes, patch)
2008-07-02 10:50 UTC, Andrew Church
Details | Diff
Tentative patch to get eautoreconf working (libdnet-aclocal-fix.patch,289 bytes, patch)
2008-07-03 09:31 UTC, Andrew Church
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Greg Kroah-Hartman (RETIRED) gentoo-dev 2008-07-02 04:18:04 UTC
if lua is not enabled, nmap-4.68 does not build at all, but fails in a horrible mess.


On the very first file:

i686-pc-linux-gnu-g++ -MM -Ilibdnet-stripped/include  -Inbase -Insock/include main.cc nmap.cc targets.cc tcpip.cc nmap_error.cc utils.cc idle_scan.cc osscan.cc osscan2.cc output.cc scan_engine.cc timing.cc charpool.cc services.cc protocols.cc nmap_rpc.cc portlist.cc NmapOps.cc TargetGroup.cc Target.cc FingerPrintResults.cc service_scan.cc NmapOutputTable.cc MACLookup.cc nmap_tty.cc nmap_dns.cc traceroute.cc portreasons.cc   > makefile.dep
In file included from portlist.h:107,
                 from output.h:124,
                 from NmapOps.h:104,
                 from main.cc:105:
nse_main.h:5:19: error: lua.h: No such file or directory
nse_main.h:6:22: error: lualib.h: No such file or directory
nse_main.h:7:23: error: lauxlib.h: No such file or directory


It doesn't get any better from there on...

Reproducible: Always

Steps to Reproduce:
Comment 1 Conrad Kostecki gentoo-dev 2008-07-02 07:05:15 UTC
I can comfirm here this error.
Comment 2 Bob Raitz 2008-07-02 07:37:11 UTC
Three is a magic number, put me down as having this problem as well.

Blessed be!
Pappy
Comment 3 Bob Raitz 2008-07-02 07:43:42 UTC
Just emerged with the lua USE flag, and installed lua, and now it is installed. I call this a "works for me".

Blessed be!
Pappy
Comment 4 Petr Zima 2008-07-02 10:01:49 UTC
Also confirming. Compilation by hand (./configure --without-liblua && make) fails the same way. Compilation with lua (./configure --with-liblua && make) succeeds although I have no lua.
Comment 5 Andrew Church 2008-07-02 10:48:59 UTC
Created attachment 159291 [details, diff]
Patch to fix compilation errors with USE=-lua

Builds fine for me with USE=-lua and this patch applied.  I'll post an ebuild patch shortly.
Comment 6 Andrew Church 2008-07-02 10:50:48 UTC
Created attachment 159293 [details, diff]
Ebuild patch to apply nmap-4.68-nolua.patch
Comment 7 Petr Zima 2008-07-02 11:22:38 UTC
Works fine for me, thanks.
Comment 8 Andrew Savchenko gentoo-dev 2008-07-02 11:39:45 UTC
(In reply to comment #6)
> Created an attachment (id=159293) [edit]
> Ebuild patch to apply nmap-4.68-nolua.patch
> 

It works for me too. Awaiting for this patch in the main portage tree.
Comment 9 Ralf Holzer 2008-07-02 21:28:00 UTC
I had the same problem and emerged lua. Now I get the following error:

make[1]: Entering directory `/var/tmp/portage/net-analyzer/nmap-4.68/work/nmap-4.68'
<CUT>
nmap.cc: In function 'void nmap_free_mem()':
nmap.cc:1902: error: 'class NmapOps' has no member named 'scriptargs'
make[1]: *** [nmap.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-analyzer/nmap-4.68/work/nmap-4.68'
make: *** [all] Error 2

I just upgraded glibc to 2.8, so maybe it is related to that.

rc1 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.8_p20080602-r0, 2.6.25-gentoo-r5 i686)
=================================================================
System uname: Linux-2.6.25-gentoo-r5-i686-Intel-R-_Xeon-R-_CPU_5150_@_2.66GHz-with-glibc2.0
Timestamp of tree: Wed, 02 Jul 2008 17:15:02 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
app-shells/bash:     3.2_p39
dev-lang/python:     2.4.4-r6, 2.5.2-r5
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.62-r1
sys-devel/automake:  1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r2
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.4
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS=""
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="acl berkdb bzip2 cli cracklib crypt cups dri fortran gdbm gpm iconv ipv6 isdnlog midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl tcpd unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

Comment 10 Andrew Church 2008-07-03 01:25:13 UTC
It looks like the "configure" part of my patch didn't make it into the tree?  (The "configure.ac" part can be deleted, since the ebuild doesn't run eautoreconf; I just included it for completeness.  But the "configure" part is required to fix a flag getting added to the wrong variable.)
Comment 11 Diego Elio Pettenò (RETIRED) gentoo-dev 2008-07-03 01:31:54 UTC
You should not patch configure, you should always patch configure.ac and run eautoreconf.
Comment 12 Andrew Church 2008-07-03 09:31:58 UTC
Created attachment 159383 [details, diff]
Tentative patch to get eautoreconf working

Well, it seems I have insufficient autotools karma to get the eautoreconf route working.  I've gotten as far as econf succeeding by applying this patch and adding the following to the end of src_unpack from my earlier ebuild patch:
    epatch "${FILESDIR}/libdnet-aclocal-fix.patch"
    cp -p nmap_config.h.in acconfig.h
    cp -p nbase/nbase_config.h.in nbase/acconfig.h
    cp -p nsock/src/nsock_config.h.in nsock/src/acconfig.h
    eautoreconf || die "eautoreconf failed"

But the build then fails with:
make[2]: Entering directory `/var/tmp/portage/net-analyzer/nmap-4.68/work/nmap-4.68/libdnet-stripped/src'
/bin/sh ../libtool --tag=CC   --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../include -I../include    -O2 -march=k8 -msse2 -msse -mmmx -pipe -Wall -c -o addr-util.lo addr-util.c
../libtool: line 821: X--tag=CC: command not found
../libtool: line 854: libtool: ignoring unknown tag : command not found
../libtool: line 821: X--mode=compile: command not found
[lots more "X-option" errors]

I'm afraid I can't spend any more time on this at the moment, so perhaps someone else can figure out what's going on here?
Comment 13 Michal Januszewski (RETIRED) gentoo-dev 2008-07-03 09:35:49 UTC
I've committed an updated version of the patch and ebuild to CVS earlier today -- I think it should fix the problem (please confirm).
Comment 14 Andrew Church 2008-07-03 11:01:49 UTC
Confirmed--thanks!
Comment 15 Ralf Holzer 2008-07-03 17:32:20 UTC
works now. thanks.
Comment 16 Michal Januszewski (RETIRED) gentoo-dev 2008-07-03 18:59:36 UTC
Seems to be fixed -- closing.  Thanks for the patches and feedback.