I was trying to build Bro 1.3.2 on FC5. Im running into linking issues and I wanted to see if there is a known fix before I start racking my brain on this.
It appears to be having problems with externally defined functions. These problem do not exist for 1.2.x on the same system.
Here is a sample of the linking and errors:
g++ -g -O2 -o bro DNS-binpac.o HTTP-binpac.o main.o net_util.o util.o parse.o scan.o re-parse.o re-scan.o rule-parse.o rule-scan.o Active.o Analyzer.o Anon.o ARP.o Attr.o BackDoor.o Base64.o BPF_Program.o BroString.o CCL.o ChunkedIO.o CompHash.o Conn.o ConnCompressor.o ContentLine.o DCE_RPC.o DFA.o DNS.o DNS_Mgr.o DbgBreakpoint.o DbgHelp.o DbgWatch.o Debug.o DebugCmds.o DebugLogger.o Desc.o Dict.o Discard.o DPM.o EquivClass.o Event.o EventHandler.o EventLauncher.o EventRegistry.o Expr.o FTP.o File.o FileAnalyzer.o Finger.o Frag.o Frame.o Func.o Gnutella.o HTTP.o Hash.o ICMP.o ID.o Ident.o IntSet.o InterConn.o IOSource.o IRC.o List.o Logger.o Login.o MIME.o NCP.o NFA.o NFS.o NTP.o NVT.o Net.o NetVar.o NetbiosSSN.o Obj.o OSFinger.o PacketFilter.o PacketSort.o PersistenceSerializer.o PktDagSrc.o PktSrc.o PIA.o PolicyFile.o POP3.o Portmap.o PrefixTable.o PriorityQueue.o Queue.o RE.o RPC.o Reassem.o RemoteSerializer.o Rlogin.o RSH.o Rule.o RuleAction.o RuleCondition.o RuleMatcher.o ScriptAnaly.o SmithWaterman.o SMB.o SMTP.o SSH.o Scope.o SerializationFormat.o SerialObj.o Serializer.o Sessions.o StateAccess.o Stats.o SteppingStone.o Stmt.o TCP.o TCP_Endpoint.o TCP_Reassembler.o TCP_Rewriter.o Telnet.o Timer.o Traverse.o Trigger.o TwoWise.o Type.o UDP.o Val.o Var.o XDR.o ZIP.o bsd-getopt-long.o cq.o md5.o patricia.o setsignal.o version.o UDP_Rewriter.o DNS_Rewriter.o PacketDumper.o Rewriter.o strsep.o nb_dns.o X509.o SSLCiphers.o SSLInterpreter.o SSLProxy.o SSLv2.o SSLv3.o SSLv3Automaton.o binpac-lib_pac.o binpac_bro-lib_pac.o dce_rpc_pac.o dce_rpc_simple_pac.o dns_pac.o dns_tcp_pac.o http_pac.o ncp_pac.o rpc_pac.o smb_pac.o -Llibedit -ledit -lmagic -lz -lpcap -lpcap -lssl -lcrypto -lpcap /usr/lib/libresolv.a -ltermcap -ltermcap -lm -L…/aux/binpac/lib -lbinpac -lmagic -lz -lpcap -lpcap -lssl -lcrypto -lpcap /usr/lib/libresolv.a -ltermcap -ltermcap
main.o: In function bro_new_handler':/root/BUILD/Bro/bro-1.3.2/src/main.cc:373: undefined reference to
out_of_memory(char const*)’
main.o: In function usage()':/root/BUILD/Bro/bro-1.3.2/src/main.cc:201: undefined reference to
bro_path()’
:/root/BUILD/Bro/bro-1.3.2/src/main.cc:202: undefined reference to bro_prefixes()' main.o: In function
termination_signal()’:/root/BUILD/Bro/bro-1.3.2/src/main.cc:279: undefined reference to message(char const*)' main.o: In function
sig_handler(int)’:/root/BUILD/Bro/bro-1.3.2/src/main.cc:298: undefined reference to internal_error(char const*, ...)' main.o: In function
main’:/root/BUILD/Bro/bro-1.3.2/src/main.cc:382: undefined reference to copy_string(char const*)' :/root/BUILD/Bro/bro-1.3.2/src/main.cc:691: undefined reference to
current_time(bool)’
:/root/BUILD/Bro/bro-1.3.2/src/main.cc:693: undefined reference to init_random_seed(unsigned int, char const*, char const*)' :/root/BUILD/Bro/bro-1.3.2/src/main.cc:553: undefined reference to
streq(char const*, char const*)’
:/root/BUILD/Bro/bro-1.3.2/src/main.cc:604: undefined reference to `hash_md5(unsigned int, unsigned char const*, unsigned char*)’
Thanks,
// Joel