Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 16471 - libnasl fails to compile
Summary: libnasl fails to compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Daniel Ahlberg (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-27 09:16 UTC by Ilia Lobsanov
Modified: 2003-03-05 12:08 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ilia Lobsanov 2003-02-27 09:16:37 UTC
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
Comment 1 Philip Walls (RETIRED) gentoo-dev 2003-02-27 17:33:51 UTC
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
Comment 2 Frantz Dhin 2003-02-27 18:07:46 UTC
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.
Comment 3 Frantz Dhin 2003-02-27 18:42:58 UTC
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.
Comment 4 Alastair Tse (RETIRED) gentoo-dev 2003-03-05 12:08:56 UTC
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.