Errors compiling bro-pub-0.8a32 on Linux 2.4.20-8

Christopher Jay Manders Chris.Manders at UnixHelpDesk.COM
Sat Jul 12 09:19:45 PDT 2003


I fixed this by adding:

#include <elf.h>

to the top of util.cc, since that is where uint32_t is defined on my 
Linux....

That solved that problem. Then another cropped up in Dict.cc:

g++ -I. -Ilibedit -O -Ilinux-include -c Dict.cc
Dict.cc: In member function `void* Dictionary::NextEntry(HashKey*&,
    IterCookie*&, int) const':
Dict.cc:260: choosing `HashKey::HashKey(const void*, int, unsigned int)' 
over `
    HashKey::HashKey(void*, int, int)'
Dict.cc:260:   because worst conversion for the former is better than worst
    conversion for the latter
Dict.cc:288: choosing `HashKey::HashKey(const void*, int, unsigned int)' 
over `
    HashKey::HashKey(void*, int, int)'
Dict.cc:288:   because worst conversion for the former is better than worst
    conversion for the latter
make: *** [Dict.o] Error 1


This error looks more programatic to fix, so this will take more time. 
Anyone with thoughts on this one?


Tx!

Chris



> Hi,
> 
> Just thought I would note that for several versions of Linux, the 
> compile does not work out of the box. Not just kernel 2.4.20-8. But, 
> this is the one I am going to do some testing on.
> 
> I will be doing my IDS testing on:
> 1 - FreeBSD 4.6.2
> 1 - OpenBSD 2.9
> 1 - Linux 2.4.20-8
> 
> Anyway, the configure goes ok on Linux, but the initial make gets the 
> errors below. I hope they are useful to get the autoconf stuff setup 
> right for the next release.
> 
> If you can offer where to fix this, I'd be happy. Otherwise, if I get a 
> chance I'd figure that out and send the fix. At first glance it looks 
> like the static use of the linux-includes does not scale past some 
> certain Linux version.
> 
> HTH
> 
> 
> Chris
> 
> 
> The problems start here:
> g++ -I. -Ilibedit -O -Ilinux-include -c main.cc
> g++ -I. -Ilibedit -O -Ilinux-include -c net_util.cc
> g++ -I. -Ilibedit -O -Ilinux-include -c util.cc
> util.cc: In function `void init_random_seed()':
> util.cc:395: `uint32_t' undeclared (first use this function)
> util.cc:395: (Each undeclared identifier is reported only once for each
>    function it appears in.)
> util.cc:395: parse error before `[' token
> util.cc:399: `buf' undeclared (first use this function)
> util.cc:427: parse error before `=' token
> util.cc:430: `result' undeclared (first use this function)
> make: *** [util.o] Error 1
> 
> 
> 
> 
> 
> Full log:
> Unpacking libedit sources
> Building libedit.a
> creating cache ./config.cache
> checking for gcc... gcc
> checking whether the C compiler (gcc  ) works... yes
> checking whether the C compiler (gcc  ) is a cross-compiler... no
> checking whether we are using GNU C... yes
> checking whether gcc accepts -g... yes
> checking for gawk... gawk
> checking for a BSD compatible install... /usr/bin/install -c
> checking for dirent.h that defines DIR... yes
> checking for opendir in -ldir... no
> checking how to run the C preprocessor... gcc -E
> checking for ANSI C header files... yes
> checking for sys/wait.h that is POSIX.1 compatible... yes
> checking for limits.h... yes
> checking for malloc.h... yes
> checking for sys/ioctl.h... yes
> checking for unistd.h... yes
> checking for sys/cdefs.h... yes
> checking for sys/types.h... yes
> checking for working const... yes
> checking for size_t... yes
> checking for working alloca.h... yes
> checking for alloca... yes
> checking whether gcc needs -traditional... no
> checking return type of signal handlers... void
> checking for re_comp... yes
> checking for regcomp... yes
> checking for strdup... yes
> checking for strerror... yes
> checking for strstr... yes
> checking for strtol... yes
> checking for vis.h... no
> checking for strlcat... no
> checking for strlcpy... no
> checking for issetugid... no
> checking for fgetln... no
> checking for getline... yes
> checking for flockfile... yes
> updating cache ./config.cache
> creating ./config.status
> creating Makefile
> creating compat_conf.h
> make[1]: Entering directory `/home/cmanders/bro-pub-0.8a32/libedit'
> sh ./makelist -h ./vi.c > vi.h.tmp && \
>   mv vi.h.tmp vi.h
> sh ./makelist -h ./emacs.c > emacs.h.tmp && \
>   mv emacs.h.tmp emacs.h
> sh ./makelist -h ./common.c > common.h.tmp && \
>   mv common.h.tmp common.h
> sh ./makelist -fh vi.h emacs.h common.h  > fcns.h.tmp && \
>   mv fcns.h.tmp fcns.h
> sh ./makelist -bh ./vi.c ./emacs.c ./common.c > help.h.tmp && \
>   mv help.h.tmp help.h
> sh ./makelist -bc ./vi.c ./emacs.c ./common.c > help.c.tmp && \
>   mv help.c.tmp help.c
> gcc -g -O2 -I. -I. -g -O0   -c chared.c
> gcc -g -O2 -I. -I. -g -O0   -c common.c
> gcc -g -O2 -I. -I. -g -O0   -c el.c
> gcc -g -O2 -I. -I. -g -O0   -c emacs.c
> sh ./makelist -fc vi.h emacs.h common.h  > fcns.c.tmp && \
>   mv fcns.c.tmp fcns.c
> gcc -g -O2 -I. -I. -g -O0   -c fcns.c
> gcc -g -O2 -I. -I. -g -O0   -c hist.c
> gcc -g -O2 -I. -I. -g -O0   -c history.c
> gcc -g -O2 -I. -I. -g -O0   -c key.c
> gcc -g -O2 -I. -I. -g -O0   -c map.c
> gcc -g -O2 -I. -I. -g -O0   -c parse.c
> gcc -g -O2 -I. -I. -g -O0   -c prompt.c
> gcc -g -O2 -I. -I. -g -O0   -c read.c
> gcc -g -O2 -I. -I. -g -O0   -c refresh.c
> gcc -g -O2 -I. -I. -g -O0   -c search.c
> gcc -g -O2 -I. -I. -g -O0   -c sig.c
> gcc -g -O2 -I. -I. -g -O0   -c term.c
> gcc -g -O2 -I. -I. -g -O0   -c tokenizer.c
> gcc -g -O2 -I. -I. -g -O0   -c tty.c
> gcc -g -O2 -I. -I. -g -O0   -c vi.c
> gcc -g -O2 -I. -I. -g -O0   -c help.c
> gcc -g -O2 -I. -I. -g -O0   -c fgetln.c
> gcc -g -O2 -I. -I. -g -O0   -c readline.c
> gcc -g -O2 -I. -I. -g -O0   -c strlcpy.c
> ar -r libedit.a chared.o common.o el.o emacs.o fcns.o hist.o history.o 
> key.o map.o parse.o prompt.o read.o refresh.o search.o sig.o term.o 
> tokenizer.o tty.o vi.o help.o fgetln.o readline.o strlcpy.o
> make[1]: Leaving directory `/home/cmanders/bro-pub-0.8a32/libedit'
> bison -y -d -t -v builtin-func.y
> flex -obif_lex.cc builtin-func.l
> g++ -o bif_lex.o -c bif_lex.cc
> g++ -o bif_parse.o -c bif_parse.cc
> g++ -o bif_arg.o -c bif_arg.cc
> g++ -I. -Ilibedit -O -Ilinux-include -o bifcl bif_lex.o bif_parse.o 
> bif_arg.o
> ./bifcl event.bif
> ./bifcl const.bif
> g++ -I. -Ilibedit -O -Ilinux-include -c main.cc
> g++ -I. -Ilibedit -O -Ilinux-include -c net_util.cc
> g++ -I. -Ilibedit -O -Ilinux-include -c util.cc
> util.cc: In function `void init_random_seed()':
> util.cc:395: `uint32_t' undeclared (first use this function)
> util.cc:395: (Each undeclared identifier is reported only once for each
>    function it appears in.)
> util.cc:395: parse error before `[' token
> util.cc:399: `buf' undeclared (first use this function)
> util.cc:427: parse error before `=' token
> util.cc:430: `result' undeclared (first use this function)
> make: *** [util.o] Error 1





More information about the Bro mailing list