[Bro] Errors while building pybroccoli?

Stephen Chan sychan at lbl.gov
Wed Jul 16 15:14:13 PDT 2008


Hi,
I just checked out the python bindings for broccoli and tried building 
it against Bro 1.3.2 using the suggested "python setup.py install". I am 
using python 2.4.3 and gcc 4.1.2 on CentOS 5

Unfortunately the build just results in a few screens of compilation 
errors and warnings. Looking at the Makefile, I decided to try 
regenerating the swing bindings and running setup.pu again. This cut 
down the number of errors to only a single screenful. Here's what I'm 
getting:
[sychan at panopticon python]$ python setup.py install
running install
running build
running build_py
creating build
creating build/lib.linux-i686-2.4
copying broccoli.py -> build/lib.linux-i686-2.4
running build_ext
building '_broccoli_intern' extension
creating build/temp.linux-i686-2.4
gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall 
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector 
--param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic 
-fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fPIC 
-I/usr/include/python2.4 -c broccoli_intern_wrap.c -o 
build/temp.linux-i686-2.4/broccoli_intern_wrap.o
broccoli_intern_wrap.c:2504: warning: useless storage class specifier in 
empty declaration
broccoli_intern_wrap.c: In function ‘valToPyObj’:
broccoli_intern_wrap.c:2595: warning: pointer targets in passing 
argument 1 of ‘PyString_FromStringAndSize’ differ in signedness
broccoli_intern_wrap.c: In function ‘pyObjToVal’:
broccoli_intern_wrap.c:2681: warning: pointer targets in assignment 
differ in signedness
broccoli_intern_wrap.c: At top level:
broccoli_intern_wrap.c:2762: error: expected declaration specifiers or 
‘...’ before ‘BroEvMeta’
broccoli_intern_wrap.c: In function ‘event_callback’:
broccoli_intern_wrap.c:2767: error: ‘meta’ undeclared (first use in this 
function)
broccoli_intern_wrap.c:2767: error: (Each undeclared identifier is 
reported only once
broccoli_intern_wrap.c:2767: error: for each function it appears in.)
broccoli_intern_wrap.c: In function ‘_wrap_bro_event_add_val’:
broccoli_intern_wrap.c:4716: warning: assignment discards qualifiers 
from pointer target type
broccoli_intern_wrap.c: In function ‘_wrap_bro_event_set_val’:
broccoli_intern_wrap.c:4786: warning: assignment discards qualifiers 
from pointer target type
broccoli_intern_wrap.c: In function ‘_wrap_bro_event_registry_add_compact’:
broccoli_intern_wrap.c:4988: warning: assignment from incompatible 
pointer type
broccoli_intern_wrap.c: In function ‘_wrap_bro_record_add_val’:
broccoli_intern_wrap.c:5849: warning: assignment discards qualifiers 
from pointer target type
broccoli_intern_wrap.c: In function ‘_wrap_bro_record_set_nth_val’:
broccoli_intern_wrap.c:6004: warning: assignment discards qualifiers 
from pointer target type
broccoli_intern_wrap.c: In function ‘_wrap_bro_record_set_named_val’:
broccoli_intern_wrap.c:6075: warning: assignment discards qualifiers 
from pointer target type
error: command 'gcc' failed with exit status 1
[sychan at panopticon python]$


The first error "broccoli_intern_wrap.c:2762: error: expected 
declaration specifiers or ‘...’ before ‘BroEvMeta’" references this:
// C-level event handler for events. We register all events with this 
callback,
// passing the target Python function in via data.
void event_callback(BroConn *bc, void *data, BroEvMeta *meta)
{
...

I don't see any declaration for the BroEvMeta type anywhere. There's a 
reference to this type in 
http://svn.icir.org/bro/trunk/bro/aux/broccoli/test/broping.c in the 
bro_pong_compact() declaration:

static void bro_pong_compact(BroConn *conn, void *data, BroEvMeta *meta)

However signature in my version of the broping is:
static void bro_pong_compact(BroConn *conn, void *data, int num_args, 
BroEvArg *args)

I'm guessing that things have changed since the 1.3.2 release and that 
the python bindings are against the current code base. Is that true?
Do I need to download the latest bro source tree via subversion to use 
the pythong bindings?

Steve




More information about the Bro mailing list