jordansissel / grok

DRY and RAD for regular expressions and then some.
http://code.google.com/p/semicomplete/wiki/Grok
Other
244 stars 54 forks source link

Master branch fails to build on Ubuntu 12.04 #16

Open jskarpe opened 11 years ago

jskarpe commented 11 years ago

Clean Ubuntu Server 12.04 LTS following https://github.com/jordansissel/grok/blob/master/INSTALL

apt-get install build-essential unzip -y
apt-get install bison ctags flex gperf libevent-dev libpcre3-dev libtokyocabinet-dev -y
wget https://github.com/jordansissel/grok/archive/master.zip -O grok.zip
unzip grok.zip
cd grok-master && make grok

Outputs:

sh ./version.sh --header > grok_version.h
[ -f grok_capture_xdr.h ] && rm grok_capture_xdr.h || true
rpcgen -h grok_capture.x -o grok_capture_xdr.h
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok.c -o gr                                                                                                                     ok.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grokre.c -o                                                                                                                      grokre.o
grokre.c: In function âgrok_pattern_expandâ:
grokre.c:312:7: warning: passing argument 1 of âfreeâ discards âconstâ qualifier                                                                                                                      from pointer target type [enabled by default]
/usr/include/stdlib.h:488:13: note: expected âvoid *â but argument is of type âc                                                                                                                     onst char *â
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_capture                                                                                                                     .c -o grok_capture.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_pattern                                                                                                                     .c -o grok_pattern.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  stringhelper                                                                                                                     .c -o stringhelper.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  predicates.c                                                                                                                      -o predicates.o
[ -f grok_capture_xdr.c ] && rm grok_capture_xdr.c || true
rpcgen -c grok_capture.x -o grok_capture_xdr.c
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_capture                                                                                                                     _xdr.c -o grok_capture_xdr.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_match.c                                                                                                                      -o grok_match.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_logging                                                                                                                     .c -o grok_logging.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_program                                                                                                                     .c -o grok_program.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_input.c                                                                                                                      -o grok_input.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_matchco                                                                                                                     nf.c -o grok_matchconf.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  libc_helper.                                                                                                                     c -o libc_helper.o
/usr/bin/gperf grok_matchconf_macro.gperf > grok_matchconf_macro.c
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_matchco                                                                                                                     nf_macro.c -o grok_matchconf_macro.o
/usr/bin/gperf filters.gperf > filters.c
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  filters.c -o                                                                                                                      filters.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_discove                                                                                                                     r.c -o grok_discover.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  conf.tab.c -                                                                                                                     o conf.tab.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  conf.yy.c -o                                                                                                                      conf.yy.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  main.c -o ma                                                                                                                     in.o
cc -c -pipe -fPIC -I. -O2 -I/usr/local/include -DPLATFORM_GNULinux  grok_config.                                                                                                                     c -o grok_config.o
cc -ldl -lpcre -levent -rdynamic -ltokyocabinet -L/usr/local/lib  -levent grok.o                                                                                                                      grokre.o grok_capture.o grok_pattern.o stringhelper.o predicates.o grok_capture                                                                                                                     _xdr.o grok_match.o grok_logging.o grok_program.o grok_input.o grok_matchconf.o                                                                                                                      libc_helper.o grok_matchconf_macro.o filters.o grok_discover.o conf.tab.o conf.y                                                                                                                     y.o main.o grok_config.o -o grok
grok.o: In function `grok_pcre_callout':
grok.c:(.text+0x66): undefined reference to `dlopen'
grok.c:(.text+0x72): undefined reference to `dlsym'
grok.o: In function `grok_init':
grok.c:(.text+0x1b5): undefined reference to `pcre_callout'
grok.c:(.text+0x213): undefined reference to `tctreenew'
grok.c:(.text+0x21c): undefined reference to `tctreenew'
grok.c:(.text+0x225): undefined reference to `tctreenew'
grok.c:(.text+0x22e): undefined reference to `tctreenew'
grok.c:(.text+0x237): undefined reference to `tctreenew'
grok.c:(.text+0x273): undefined reference to `pcre_compile'
grok.c:(.text+0x2a0): undefined reference to `pcre_fullinfo'
grok.c:(.text+0x2b3): undefined reference to `pcre_get_stringnumber'
grok.c:(.text+0x2cc): undefined reference to `pcre_get_stringnumber'
grok.c:(.text+0x2e5): undefined reference to `pcre_get_stringnumber'
grok.c:(.text+0x2fe): undefined reference to `pcre_get_stringnumber'
grok.c:(.text+0x317): undefined reference to `pcre_get_stringnumber'
grokre.o: In function `grok_free_clone':
grokre.c:(.text+0x10): undefined reference to `pcre_free'
grokre.c:(.text+0x3c): undefined reference to `tctreedel'
grokre.c:(.text+0x4a): undefined reference to `tctreedel'
grokre.c:(.text+0x58): undefined reference to `tctreedel'
grokre.o: In function `grok_compilen':
grokre.c:(.text+0xef): undefined reference to `tctreeclear'
grokre.c:(.text+0xf8): undefined reference to `tctreeclear'
grokre.c:(.text+0x101): undefined reference to `tctreeclear'
grokre.c:(.text+0x10a): undefined reference to `tctreeclear'
grokre.c:(.text+0x1e9): undefined reference to `pcre_exec'
grokre.c:(.text+0x242): undefined reference to `pcre_get_substring'
grokre.c:(.text+0x2e6): undefined reference to `pcre_get_substring'
grokre.c:(.text+0x304): undefined reference to `pcre_get_substring'
grokre.c:(.text+0x568): undefined reference to `pcre_free_substring'
grokre.c:(.text+0xa86): undefined reference to `pcre_compile'
grokre.c:(.text+0xaa6): undefined reference to `pcre_fullinfo'
grokre.c:(.text+0xadb): undefined reference to `pcre_fullinfo'
grokre.c:(.text+0xaf3): undefined reference to `pcre_fullinfo'
grokre.c:(.text+0xb08): undefined reference to `pcre_fullinfo'
grokre.o: In function `grok_execn':
grokre.c:(.text+0xe5a): undefined reference to `pcre_exec'
grokre.o: In function `grok_free_clone':
grokre.c:(.text+0x67): undefined reference to `tctreedel'
grokre.o: In function `grok_free':
grokre.c:(.text+0x94): undefined reference to `tctreedel'
grok_capture.o: In function `grok_capture_add':
grok_capture.c:(.text+0x93): undefined reference to `tctreeput'
grok_capture.c:(.text+0xae): undefined reference to `tctreeput'
grok_capture.c:(.text+0xc2): undefined reference to `tctreeget'
grok_capture.c:(.text+0xd6): undefined reference to `tclistnum'
grok_capture.c:(.text+0x105): undefined reference to `tclistval'
grok_capture.c:(.text+0x11d): undefined reference to `tclistremove'
grok_capture.c:(.text+0x12d): undefined reference to `tclistpush'
grok_capture.c:(.text+0x145): undefined reference to `tctreeput'
grok_capture.c:(.text+0x15a): undefined reference to `tctreeget'
grok_capture.c:(.text+0x16e): undefined reference to `tclistnum'
grok_capture.c:(.text+0x195): undefined reference to `tclistval'
grok_capture.c:(.text+0x1ad): undefined reference to `tclistremove'
grok_capture.c:(.text+0x1bd): undefined reference to `tclistpush'
grok_capture.c:(.text+0x1d6): undefined reference to `tctreeput'
grok_capture.c:(.text+0x22a): undefined reference to `tclistnew'
grok_capture.c:(.text+0x237): undefined reference to `tclistnew'
grok_capture.o: In function `grok_capture_get_by_id':
grok_capture.c:(.text+0x26c): undefined reference to `tctreeget'
grok_capture.o: In function `grok_capture_get_by_name':
grok_capture.c:(.text+0x2a3): undefined reference to `tctreeget'
grok_capture.c:(.text+0x2b9): undefined reference to `tclistval'
grok_capture.o: In function `grok_capture_get_by_subname':
grok_capture.c:(.text+0x2f3): undefined reference to `tctreeget'
grok_capture.c:(.text+0x309): undefined reference to `tclistval'
grok_capture.o: In function `grok_capture_get_by_capture_number':
grok_capture.c:(.text+0x33c): undefined reference to `tctreeget'
grok_capture.o: In function `grok_capture_walk_next':
grok_capture.c:(.text+0x6e3): undefined reference to `tctreeiternext'
grok_capture.c:(.text+0x706): undefined reference to `tctreeget'
grok_capture.o: In function `grok_capture_walk_init':
grok_capture.c:(.text+0x6c5): undefined reference to `tctreeiterinit'
grok_pattern.o: In function `grok_pattern_name_list':
grok_pattern.c:(.text+0xb): undefined reference to `tclistnew'
grok_pattern.c:(.text+0x16): undefined reference to `tctreeiterinit'
grok_pattern.c:(.text+0x2b): undefined reference to `tclistpush'
grok_pattern.c:(.text+0x38): undefined reference to `tctreeiternext'
grok_pattern.o: In function `grok_pattern_add':
grok_pattern.c:(.text+0xc7): undefined reference to `tctreeput'
grok_pattern.o: In function `grok_pattern_find':
grok_pattern.c:(.text+0x11c): undefined reference to `tctreeget'
predicates.o: In function `grok_predicate_regexp_init':
predicates.c:(.text+0x6b): undefined reference to `pcre_exec'
predicates.c:(.text+0x32f): undefined reference to `pcre_compile'
grok_program.o: In function `grok_collection_init':
grok_program.c:(.text+0x34): undefined reference to `event_init'
grok_program.c:(.text+0x69): undefined reference to `event_set'
grok_program.c:(.text+0x74): undefined reference to `event_add'
grok_program.o: In function `grok_collection_check_end_state':
grok_program.c:(.text+0x155): undefined reference to `event_base_loopexit'
grok_program.o: In function `_collection_sigchld':
grok_program.c:(.text+0x380): undefined reference to `event_once'
grok_program.o: In function `grok_collection_loop':
grok_program.c:(.text+0x6a5): undefined reference to `event_base_dispatch'
grok_input.o: In function `_program_file_buferror':
grok_input.c:(.text+0x6c): undefined reference to `event_once'
grok_input.o: In function `grok_input_eof_handler':
grok_input.c:(.text+0x14b): undefined reference to `bufferevent_disable'
grok_input.c:(.text+0x275): undefined reference to `bufferevent_disable'
grok_input.c:(.text+0x2c6): undefined reference to `event_once'
grok_input.c:(.text+0x316): undefined reference to `event_once'
grok_input.o: In function `_program_file_repair_event':
grok_input.c:(.text+0x6ea): undefined reference to `event_once'
grok_input.o: In function `_program_file_read_buffer':
grok_input.c:(.text+0x97a): undefined reference to `bufferevent_get_input'
grok_input.c:(.text+0x982): undefined reference to `evbuffer_readline'
grok_input.o: In function `_program_process_stdout_read':
grok_input.c:(.text+0x9da): undefined reference to `bufferevent_get_input'
grok_input.c:(.text+0x9e2): undefined reference to `evbuffer_readline'
grok_input.o: In function `grok_program_add_input_process':
grok_input.c:(.text+0xc2e): undefined reference to `bufferevent_new'
grok_input.c:(.text+0xc3e): undefined reference to `bufferevent_enable'
grok_input.c:(.text+0xc9d): undefined reference to `event_once'
grok_input.c:(.text+0xccf): undefined reference to `bufferevent_new'
grok_input.c:(.text+0xcdc): undefined reference to `bufferevent_enable'
grok_input.o: In function `grok_program_add_input_file':
grok_input.c:(.text+0xe11): undefined reference to `bufferevent_new'
grok_input.c:(.text+0xe21): undefined reference to `bufferevent_enable'
grok_input.c:(.text+0xe48): undefined reference to `event_once'
grok_input.o: In function `_program_file_read_real':
grok_input.c:(.text+0x44a): undefined reference to `event_once'
grok_matchconf.o: In function `grok_matchconfig_init':
grok_matchconf.c:(.text+0x15): undefined reference to `tclistnew'
grok_matchconf.o: In function `grok_matchconfig_close':
grok_matchconf.c:(.text+0x13e): undefined reference to `tclistval'
grok_matchconf.c:(.text+0x14e): undefined reference to `tclistnum'
grok_matchconf.c:(.text+0x15a): undefined reference to `tclistdel'
grok_matchconf.o: In function `grok_matchconfig_exec':
grok_matchconf.c:(.text+0x1487): undefined reference to `tclistnum'
grok_matchconf.c:(.text+0x14dc): undefined reference to `tclistval'
grok_discover.o: In function `grok_discover_init':
grok_discover.c:(.text+0x25): undefined reference to `tccmpint32'
grok_discover.c:(.text+0x2c): undefined reference to `tctreenew2'
grok_discover.c:(.text+0x5c): undefined reference to `tclistnum'
grok_discover.c:(.text+0x86): undefined reference to `tclistval'
grok_discover.c:(.text+0x142): undefined reference to `tctreeputkeep'
grok_discover.c:(.text+0x15f): undefined reference to `tclistdel'
grok_discover.o: In function `grok_discover_clean':
grok_discover.c:(.text+0x288): undefined reference to `tctreedel'
grok_discover.o: In function `grok_discover':
grok_discover.c:(.text+0x363): undefined reference to `tctreeiterinit'
grok_discover.c:(.text+0x38c): undefined reference to `tctreeiternext'
grok_discover.c:(.text+0x3ad): undefined reference to `tctreeget'
grok_config.o: In function `conf_match_set_debug':
grok_config.c:(.text+0x564): undefined reference to `tclistnum'
grok_config.c:(.text+0x5a4): undefined reference to `tclistval'
grok_config.c:(.text+0x5de): undefined reference to `tclistover'
grok_config.o: In function `conf_new_match_pattern':
grok_config.c:(.text+0x4f7): undefined reference to `tclistpush'
collect2: ld returned 1 exit status
make: *** [grok] Error 1
rm filters.c grok_matchconf_macro.c
jordansissel commented 11 years ago

maybe ubuntu/debian changed their favorite ordering of compiler flags again?

what are you using grok for?

jskarpe commented 11 years ago

I was planning on using it for Logstash

jordansissel commented 11 years ago

Ahha, well you're in luck! You don't need to compile grok anymore; logstash ships with it internally with each release! :)

jjasghar commented 11 years ago

I'm attempting to build grok from source like @Yuav was. I'm trying to learn grok on another machine; and durring compile i get something that looks extremely similar. Any advice?

oo 13:37:26 [~/src/grok-1.20110630.1] > make
gcc -ldl -lpcre -levent -rdynamic -ltokyocabinet -L/usr/local/lib  -levent grok.o grokre.o grok_capture.o grok_pattern.o stringhelper.o predicates.o grok_capture_xdr.o grok_match.o grok_logging.o grok_program.o grok_input.o grok_matchconf.o libc_helper.o grok_matchconf_macro.o filters.o grok_discover.o conf.tab.o conf.yy.o main.o grok_config.o -o grok
grok.o: In function `grok_pcre_callout':
grok.c:(.text+0x66): undefined reference to `dlopen'
grok.c:(.text+0x72): undefined reference to `dlsym'
grok.o: In function `grok_init':
grok.c:(.text+0x1b5): undefined reference to `pcre_callout'
grok.c:(.text+0x213): undefined reference to `tctreenew'
grok.c:(.text+0x21c): undefined reference to `tctreenew'
grok.c:(.text+0x225): undefined reference to `tctreenew'
grok.c:(.text+0x22e): undefined reference to `tctreenew'
grok.c:(.text+0x237): undefined reference to `tctreenew'
grok.c:(.text+0x273): undefined reference to `pcre_compile'
grok.c:(.text+0x2a0): undefined reference to `pcre_fullinfo'
grok.c:(.text+0x2b3): undefined reference to `pcre_get_stringnumber'
grok.c:(.text+0x2cc): undefined reference to `pcre_get_stringnumber'
grok.c:(.text+0x2e5): undefined reference to `pcre_get_stringnumber'
grok.c:(.text+0x2fe): undefined reference to `pcre_get_stringnumber'
grok.c:(.text+0x317): undefined reference to `pcre_get_stringnumber'
grokre.o: In function `grok_free_clone':
grokre.c:(.text+0x10): undefined reference to `pcre_free'
grokre.c:(.text+0x3c): undefined reference to `tctreedel'
grokre.c:(.text+0x4a): undefined reference to `tctreedel'
grokre.c:(.text+0x58): undefined reference to `tctreedel'
grokre.o: In function `grok_compilen':
grokre.c:(.text+0xef): undefined reference to `tctreeclear'
grokre.c:(.text+0xf8): undefined reference to `tctreeclear'
grokre.c:(.text+0x101): undefined reference to `tctreeclear'
grokre.c:(.text+0x10a): undefined reference to `tctreeclear'
grokre.c:(.text+0x1e9): undefined reference to `pcre_exec'
grokre.c:(.text+0x242): undefined reference to `pcre_get_substring'
grokre.c:(.text+0x2e6): undefined reference to `pcre_get_substring'
grokre.c:(.text+0x304): undefined reference to `pcre_get_substring'
grokre.c:(.text+0x568): undefined reference to `pcre_free_substring'
grokre.c:(.text+0xa86): undefined reference to `pcre_compile'
grokre.c:(.text+0xaa6): undefined reference to `pcre_fullinfo'
grokre.c:(.text+0xadb): undefined reference to `pcre_fullinfo'
grokre.c:(.text+0xaf3): undefined reference to `pcre_fullinfo'
grokre.c:(.text+0xb08): undefined reference to `pcre_fullinfo'
grokre.o: In function `grok_execn':
grokre.c:(.text+0xe5a): undefined reference to `pcre_exec'
grokre.o: In function `grok_free_clone':
grokre.c:(.text+0x67): undefined reference to `tctreedel'
grokre.o: In function `grok_free':
grokre.c:(.text+0x94): undefined reference to `tctreedel'
grok_capture.o: In function `grok_capture_add':
grok_capture.c:(.text+0x93): undefined reference to `tctreeput'
grok_capture.c:(.text+0xae): undefined reference to `tctreeput'
grok_capture.c:(.text+0xc2): undefined reference to `tctreeget'
grok_capture.c:(.text+0xd6): undefined reference to `tclistnum'
grok_capture.c:(.text+0x105): undefined reference to `tclistval'
grok_capture.c:(.text+0x11d): undefined reference to `tclistremove'
grok_capture.c:(.text+0x12d): undefined reference to `tclistpush'
grok_capture.c:(.text+0x145): undefined reference to `tctreeput'
grok_capture.c:(.text+0x15a): undefined reference to `tctreeget'
grok_capture.c:(.text+0x16e): undefined reference to `tclistnum'
grok_capture.c:(.text+0x195): undefined reference to `tclistval'
grok_capture.c:(.text+0x1ad): undefined reference to `tclistremove'
grok_capture.c:(.text+0x1bd): undefined reference to `tclistpush'
grok_capture.c:(.text+0x1d6): undefined reference to `tctreeput'
grok_capture.c:(.text+0x22a): undefined reference to `tclistnew'
grok_capture.c:(.text+0x237): undefined reference to `tclistnew'
grok_capture.o: In function `grok_capture_get_by_id':
grok_capture.c:(.text+0x26c): undefined reference to `tctreeget'
grok_capture.o: In function `grok_capture_get_by_name':
grok_capture.c:(.text+0x2a3): undefined reference to `tctreeget'
grok_capture.c:(.text+0x2b9): undefined reference to `tclistval'
grok_capture.o: In function `grok_capture_get_by_subname':
grok_capture.c:(.text+0x2f3): undefined reference to `tctreeget'
grok_capture.c:(.text+0x309): undefined reference to `tclistval'
grok_capture.o: In function `grok_capture_get_by_capture_number':
grok_capture.c:(.text+0x33c): undefined reference to `tctreeget'
grok_capture.o: In function `grok_capture_walk_next':
grok_capture.c:(.text+0x6e3): undefined reference to `tctreeiternext'
grok_capture.c:(.text+0x706): undefined reference to `tctreeget'
grok_capture.o: In function `grok_capture_walk_init':
grok_capture.c:(.text+0x6c5): undefined reference to `tctreeiterinit'
grok_pattern.o: In function `grok_pattern_name_list':
grok_pattern.c:(.text+0xb): undefined reference to `tclistnew'
grok_pattern.c:(.text+0x16): undefined reference to `tctreeiterinit'
grok_pattern.c:(.text+0x2b): undefined reference to `tclistpush'
grok_pattern.c:(.text+0x38): undefined reference to `tctreeiternext'
grok_pattern.o: In function `grok_pattern_add':
grok_pattern.c:(.text+0xc7): undefined reference to `tctreeput'
grok_pattern.o: In function `grok_pattern_find':
grok_pattern.c:(.text+0x11c): undefined reference to `tctreeget'
predicates.o: In function `grok_predicate_regexp_init':
predicates.c:(.text+0x6b): undefined reference to `pcre_exec'
predicates.c:(.text+0x32f): undefined reference to `pcre_compile'
grok_program.o: In function `grok_collection_init':
grok_program.c:(.text+0x34): undefined reference to `event_init'
grok_program.c:(.text+0x69): undefined reference to `event_set'
grok_program.c:(.text+0x74): undefined reference to `event_add'
grok_program.o: In function `grok_collection_check_end_state':
grok_program.c:(.text+0x155): undefined reference to `event_base_loopexit'
grok_program.o: In function `_collection_sigchld':
grok_program.c:(.text+0x380): undefined reference to `event_once'
grok_program.o: In function `grok_collection_loop':
grok_program.c:(.text+0x6a5): undefined reference to `event_base_dispatch'
grok_input.o: In function `_program_file_buferror':
grok_input.c:(.text+0x6c): undefined reference to `event_once'
grok_input.o: In function `grok_input_eof_handler':
grok_input.c:(.text+0x14b): undefined reference to `bufferevent_disable'
grok_input.c:(.text+0x275): undefined reference to `bufferevent_disable'
grok_input.c:(.text+0x2c6): undefined reference to `event_once'
grok_input.c:(.text+0x316): undefined reference to `event_once'
grok_input.o: In function `_program_file_repair_event':
grok_input.c:(.text+0x6ea): undefined reference to `event_once'
grok_input.o: In function `_program_file_read_buffer':
grok_input.c:(.text+0x97a): undefined reference to `bufferevent_get_input'
grok_input.c:(.text+0x982): undefined reference to `evbuffer_readline'
grok_input.o: In function `_program_process_stdout_read':
grok_input.c:(.text+0x9da): undefined reference to `bufferevent_get_input'
grok_input.c:(.text+0x9e2): undefined reference to `evbuffer_readline'
grok_input.o: In function `grok_program_add_input_process':
grok_input.c:(.text+0xc2e): undefined reference to `bufferevent_new'
grok_input.c:(.text+0xc3e): undefined reference to `bufferevent_enable'
grok_input.c:(.text+0xc9d): undefined reference to `event_once'
grok_input.c:(.text+0xccf): undefined reference to `bufferevent_new'
grok_input.c:(.text+0xcdc): undefined reference to `bufferevent_enable'
grok_input.o: In function `grok_program_add_input_file':
grok_input.c:(.text+0xe11): undefined reference to `bufferevent_new'
grok_input.c:(.text+0xe21): undefined reference to `bufferevent_enable'
grok_input.c:(.text+0xe48): undefined reference to `event_once'
grok_input.o: In function `_program_file_read_real':
grok_input.c:(.text+0x44a): undefined reference to `event_once'
grok_matchconf.o: In function `grok_matchconfig_init':
grok_matchconf.c:(.text+0x15): undefined reference to `tclistnew'
grok_matchconf.o: In function `grok_matchconfig_close':
grok_matchconf.c:(.text+0x13e): undefined reference to `tclistval'
grok_matchconf.c:(.text+0x14e): undefined reference to `tclistnum'
grok_matchconf.c:(.text+0x15a): undefined reference to `tclistdel'
grok_matchconf.o: In function `grok_matchconfig_exec':
grok_matchconf.c:(.text+0x1487): undefined reference to `tclistnum'
grok_matchconf.c:(.text+0x14dc): undefined reference to `tclistval'
grok_discover.o: In function `grok_discover_init':
grok_discover.c:(.text+0x25): undefined reference to `tccmpint32'
grok_discover.c:(.text+0x2c): undefined reference to `tctreenew2'
grok_discover.c:(.text+0x5c): undefined reference to `tclistnum'
grok_discover.c:(.text+0x86): undefined reference to `tclistval'
grok_discover.c:(.text+0x142): undefined reference to `tctreeputkeep'
grok_discover.c:(.text+0x15f): undefined reference to `tclistdel'
grok_discover.o: In function `grok_discover_clean':
grok_discover.c:(.text+0x288): undefined reference to `tctreedel'
grok_discover.o: In function `grok_discover':
grok_discover.c:(.text+0x363): undefined reference to `tctreeiterinit'
grok_discover.c:(.text+0x38c): undefined reference to `tctreeiternext'
grok_discover.c:(.text+0x3ad): undefined reference to `tctreeget'
grok_config.o: In function `conf_match_set_debug':
grok_config.c:(.text+0x564): undefined reference to `tclistnum'
grok_config.c:(.text+0x5a4): undefined reference to `tclistval'
grok_config.c:(.text+0x5de): undefined reference to `tclistover'
grok_config.o: In function `conf_new_match_pattern':
grok_config.c:(.text+0x4f7): undefined reference to `tclistpush'
collect2: ld returned 1 exit status
make: *** [grok] Error 1