I'm trying to compile bro 0.4 on RedHat Linux 5.2, which has the
egcs compilers installed by default:
% c++ -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/specs
gcc version egcs-2.90.29 980515 (egcs-1.0.3 release)
When I try to compile bro, it stops on DNS.cc:
% make
c++ -I. -I../libpcap-0.4a6 -g -Wall -g -D__STDC__=2 -DVERSION="\"0.4\"" -c main.cc
c++ -I. -I../libpcap-0.4a6 -g -Wall -g -D__STDC__=2 -c parse.cc
c++ -I. -I../libpcap-0.4a6 -g -Wall -g -D__STDC__=2 -c scan.cc
c++ -I. -I../libpcap-0.4a6 -g -Wall -g -D__STDC__=2 -c util.cc
c++ -I. -I../libpcap-0.4a6 -g -Wall -g -D__STDC__=2 -c BroString.cc
c++ -I. -I../libpcap-0.4a6 -g -Wall -g -D__STDC__=2 -c CompHash.cc
c++ -I. -I../libpcap-0.4a6 -g -Wall -g -D__STDC__=2 -c Conn.cc
c++ -I. -I../libpcap-0.4a6 -g -Wall -g -D__STDC__=2 -c Desc.cc
c++ -I. -I../libpcap-0.4a6 -g -Wall -g -D__STDC__=2 -c Dict.cc
c++ -I. -I../libpcap-0.4a6 -g -Wall -g -D__STDC__=2 -c DNS.cc
DNS.cc: In method `void DNS_Mgr::AddResult(class DNS_Request *, struct nb_dns_result *)':
DNS.cc:688: parse error before `('
make: *** [DNS.o] Error 1
Here are the source lines in the area of the error (via cat -n DNS.cc)
683 return r;
684 }
685
686 void DNS_Mgr::AddResult(DNS_Request* dr, struct nb_dns_result* r)
687 {
688 hostent* h = (r && r->h_errno == 0) ? r->hostent : 0;
689
690 DNS_Mapping* new_dm;
691 DNS_Mapping* prev_dm;
692 int keep_prev = 0;
693
Anyone have any suggestions? I'm not very good with c++, so this is beyond
my ability to fix.
Mike Iglesias Internet: iglesias@draco.acs.uci.edu
University of California, Irvine phone: 949-824-6926
Office of Academic Computing FAX: 949-824-2069