make[1]: Entering directory `/var/tmp/portage/libnasl-2.0.0/work/libnasl/nasl' /bin/sh /var/tmp/portage/libnasl-2.0.0/work/libnasl/libtool --silent gcc -pipe -march=pentium3 -O3 -pipe -fomit-frame-pointer `sh ./cflags` -c nasl_packet_forgery.c ./cflags: ./cflags: No such file or directory /bin/sh /var/tmp/portage/libnasl-2.0.0/work/libnasl/libtool --silent gcc -pipe -march=pentium3 -O3 -pipe -fomit-frame-pointer `sh ./cflags` -c nasl_socket.c nasl_packet_forgery.c:30:22: includes.h: No such file or directory nasl_packet_forgery.c:31:22: nasl_raw.h: No such file or directory In file included from nasl_packet_forgery.c:34: nasl_global_ctxt.h:35: parse error before "FILE" nasl_global_ctxt.h:35: warning: no semicolon at end of struct or union nasl_global_ctxt.h:39: parse error before '}' token nasl_global_ctxt.h:39: warning: data definition has no type or storage class nasl_global_ctxt.h:41: parse error before '*' token nasl_global_ctxt.h:42: parse error before '*' token
I have problems compiling as well: nasl_packet_forgery.c: In function `nasl_pcap_next': nasl_packet_forgery.c:1349: `PCAP_ERRBUF_SIZE' undeclared (first use in this function) nasl_packet_forgery.c:1351: `NULL' undeclared (first use in this function) nasl_packet_forgery.c:1358: warning: assignment makes pointer from integer without a cast nasl_packet_forgery.c:1374: storage size of `then' isn't known nasl_packet_forgery.c:1374: storage size of `now' isn't known nasl_packet_forgery.c:1396: dereferencing pointer to incomplete type nasl_packet_forgery.c:1397: warning: assignment makes pointer from integer without a cast nasl_packet_forgery.c:1399: dereferencing pointer to incomplete type nasl_packet_forgery.c:1349: storage size of `errbuf' isn't known nasl_packet_forgery.c: At top level: nasl_packet_forgery.c:356: storage size of `tcpheader' isn't known make[1]: *** [nasl_packet_forgery.o] Error 1
I also get a heap of errors in nasl_packet_forgery.c and I never had nessus or libraries for it installed on my system before. However, removing the -j2 flag from make.conf seems to sort it out. Try it.
To elaborate on my above statement I have to say that commenting the makeopts line in make.conf out is not enough. It must say MAKEOPTS="". I investigated the issue a bit further and here is the difference. For the working make I put MAKEOPTS="--debug" in my make.conf and the output is this: cd nasl && make GNU Make 3.80 Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Reading makefiles... Updating goal targets.... File `all' does not exist. File `cflags' does not exist. Must remake target `cflags'. make[1]: Entering directory `/var/tmp/portage/libnasl-2.0.0/work/libnasl/nasl' Successfully remade target file `cflags'. File `libnasl.la' does not exist. File `nasl_packet_forgery.o' does not exist. Must remake target `nasl_packet_forgery.o'. /bin/sh /var/tmp/portage/libnasl-2.0.0/work/libnasl/libtool --silent gcc -pipe -march=i486 -Os -pipe `sh ./cflags` -c nasl_packet_forgery.c Successfully remade target file `nasl_packet_forgery.o'. For the non-working make I set MAKEOPTS="-j2 --debug" and got the following output: cd nasl && make GNU Make 3.80 Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Reading makefiles... Updating goal targets.... File `all' does not exist. File `cflags' does not exist. Must remake target `cflags'. make[1]: Entering directory `/var/tmp/portage/libnasl-2.0.0/work/libnasl/nasl' File `libnasl.la' does not exist. File `nasl_packet_forgery.o' does not exist. Must remake target `nasl_packet_forgery.o'. /bin/sh /var/tmp/portage/libnasl-2.0.0/work/libnasl/libtool --silent gcc -pipe -march=i486 -Os -pipe `sh ./cflags` -c nasl_packet_forgery.c File `nasl_socket.o' does not exist. Must remake target `nasl_socket.o'. ./cflags: ./cflags: No such file or directory /bin/sh /var/tmp/portage/libnasl-2.0.0/work/libnasl/libtool --silent gcc -pipe -march=i486 -Os -pipe `sh ./cflags` -c nasl_socket.c File `nasl_crypto.o' does not exist. Must remake target `nasl_crypto.o'. nasl_packet_forgery.c:30:22: includes.h: No such file or directory nasl_packet_forgery.c:31:22: nasl_raw.h: No such file or directory I guess the issue is a retarded makefile and maybe it should be passed on to the Nessus people. For now just filter -j2 out of makeopts.
change committed to cvs. now using make instead of emake because of parallel build problems. just for those who are curious. ./cflags gets generated in parallel to compiling the first file, nasl_packet_forgery.c. so ./cflags isn't ready when it starts compiling, hence the error.