[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