brolval undefined?

Odd error cropped up while trying to build latest svn trunk release on ubuntu 9.04 64-bit:

~/bro-svn/bro-102809/aux/broccoli/test$ make
/bin/bash …/libtool --tag=CC --mode=link gcc -g -O2 -o broping broping.o …/src/.libs/libbroccoli.a -lssl -lcrypto
libtool: link: gcc -g -O2 -o broping broping.o …/src/.libs/libbroccoli.a -lssl -lcrypto
…/src/.libs/libbroccoli.a(bro_lexer.o): In function brolex': /home/grutz/bro-svn/bro-102809/aux/broccoli/src/bro_lexer.l:25: undefined reference to brolval’
/home/grutz/bro-svn/bro-102809/aux/broccoli/src/bro_lexer.l:26: undefined reference to brolval' /home/grutz/bro-svn/bro-102809/aux/broccoli/src/bro_lexer.l:28: undefined reference to brolval’
/home/grutz/bro-svn/bro-102809/aux/broccoli/src/bro_lexer.l:29: undefined reference to brolval' /home/grutz/bro-svn/bro-102809/aux/broccoli/src/bro_lexer.l:30: undefined reference to brolval’
…/src/.libs/libbroccoli.a(bro_lexer.o):/home/grutz/bro-svn/bro-102809/aux/broccoli/src/bro_lexer.l:31: more undefined references to `brolval’ follow
collect2: ld returned 1 exit status
make: *** [broping] Error 1

GCC Version:

~/bro-svn/bro-102809/aux/broccoli/src$ gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: …/src/configure -v --with-pkgversion=‘Ubuntu 4.3.3-5ubuntu4’ --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)

Of course brolval IS being set … contents of bro_parser.h:

#define BROINT 257
#define BROWORD 258
#define BROSTRING 259
#define BRODOUBLE 260
typedef union {
int i;
char *s;
double d;
} YYSTYPE;
extern YYSTYPE brolval;

Doesn’t seem to make much sense to me. Any thoughts?

Hi Kurt,

../src/.libs/libbroccoli.a(bro_lexer.o): In function `brolex':
/home/grutz/bro-svn/bro-102809/aux/broccoli/src/bro_lexer.l:25:
undefined reference to `brolval'

[...]

Doesn't seem to make much sense to me. Any thoughts?

Mhmm ... I suspect what's going on here is that there is confusion in
the configure setup when it tries to detect your lex/yacc availability.
(We try to use lex/yacc when available to generate up-to-date parser
code, but fall back to pregenerated C code when they're not available.)

So as a workaround, I'd suggest making sure that you have some version
of lex and yacc installed (likely flex and bison). The output of the
configure script will tell you whether they were detected successfully.

In any case, could you please send me the full config.log from
aux/broccoli?