Syslog-3.0.2 build failure on OS X
Hello, Syslog-ng 2.1.4 compiles fine on OS X, but 3.0.2 does not. Below is the error I get. Any idea what the problem might be? Thanks. Mark syslog-ng Open Source Edition 3.0.2 configured Compiler options: compiler : /usr/bin/gcc-4.0 compiler options : -O2 -Wall -I/opt/local/include -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/eventlog -I/opt/local/include -DHAVE_SOCKADDR_SA_LEN -DLIBNET_BSDISH_OS -DLIBNET_BSD_BYTE_SWAP -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 linker flags : -L/opt/local/lib prefix : /opt/local linking mode : dynamic Features: Sun STREAMS support : no Sun Door support : no Debug symbols : no GCC profiling : no Memtrace : no IPV6 support : yes spoof-source support : yes tcp-wrapper support : yes SSL support : yes SQL support : no Linux capability support : no PCRE support : no Env wrapper support : no ---> Building syslog-ng ........ rm -f libsyslog-ng.a ar cru libsyslog-ng.a misc.o utils.o messages.o syslog-names.o cfg.o filter.o logmsg.o logstamp.o logpipe.o logsource.o driver.o sgroup.o dgroup.o center.o templates.o logreader.o logwriter.o affile.o afstreams.o afuser.o afprog.o afsocket.o afunix.o afinet.o afinter.o children.o stats.o gsockaddr.o gsocket.o logtransport.o logproto.o memtrace.o dnscache.o serialize.o apphook.o radix.o logpatterns.o cfg-lex.o cfg-grammar.o timeutils.o alarms.o logparser.o logprocess.o logmpx.o logrewrite.o logmatcher.o gprocess.o globals.o control.o compat.o logqueue.o afsql.o tlscontext.o tlstransport.o ranlib: file: libsyslog-ng.a(afstreams.o) has no symbols ranlib: file: libsyslog-ng.a(compat.o) has no symbols ranlib: file: libsyslog-ng.a(afsql.o) has no symbols ranlib libsyslog-ng.a ranlib: file: libsyslog-ng.a(afstreams.o) has no symbols ranlib: file: libsyslog-ng.a(compat.o) has no symbols ranlib: file: libsyslog-ng.a(afsql.o) has no symbols if /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/local/include -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/eventlog -I/opt/local/include -DHAVE_SOCKADDR_SA_LEN -DLIBNET_BSDISH_OS -DLIBNET_BSD_BYTE_SWAP -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -Wall -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.c; \ then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi /usr/bin/gcc-4.0 -O2 -Wall -L/opt/local/lib -o syslog-ng main.o libsyslog-ng.a -lfl -L/opt/local/lib -lglib-2.0 -lintl -liconv -L/opt/local/lib -levtlog -L/opt/local/lib -lssl -lcrypto -lz -lz -lnet -lwrap -lresolv Undefined symbols: "_configuration", referenced from: _configuration$non_lazy_ptr in libsyslog-ng.a(stats.o) _configuration$non_lazy_ptr in libsyslog-ng.a(cfg.o) _configuration$non_lazy_ptr in libsyslog-ng.a(templates.o) _configuration$non_lazy_ptr in libsyslog-ng.a(cfg-lex.o) _configuration$non_lazy_ptr in libsyslog-ng.a(cfg-grammar.o) _configuration$non_lazy_ptr in libsyslog-ng.a(affile.o) _configuration$non_lazy_ptr in libsyslog-ng.a(logmatcher.o) _configuration$non_lazy_ptr in libsyslog-ng.a(logreader.o) ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [syslog-ng] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
On Wed, 2009-06-03 at 09:19 -0700, Mark Duling wrote:
Hello,
Syslog-ng 2.1.4 compiles fine on OS X, but 3.0.2 does not. Below is the error I get. Any idea what the problem might be? Thanks.
Mark
syslog-ng Open Source Edition 3.0.2 configured Compiler options: compiler : /usr/bin/gcc-4.0 compiler options : -O2 -Wall -I/opt/local/include -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/eventlog -I/opt/local/include -DHAVE_SOCKADDR_SA_LEN -DLIBNET_BSDISH_OS -DLIBNET_BSD_BYTE_SWAP -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 linker flags : -L/opt/local/lib prefix : /opt/local linking mode : dynamic Features: Sun STREAMS support : no Sun Door support : no Debug symbols : no GCC profiling : no Memtrace : no IPV6 support : yes spoof-source support : yes tcp-wrapper support : yes SSL support : yes SQL support : no Linux capability support : no PCRE support : no Env wrapper support : no ---> Building syslog-ng
........
rm -f libsyslog-ng.a ar cru libsyslog-ng.a misc.o utils.o messages.o syslog-names.o cfg.o filter.o logmsg.o logstamp.o logpipe.o logsource.o driver.o sgroup.o dgroup.o center.o templates.o logreader.o logwriter.o affile.o afstreams.o afuser.o afprog.o afsocket.o afunix.o afinet.o afinter.o children.o stats.o gsockaddr.o gsocket.o logtransport.o logproto.o memtrace.o dnscache.o serialize.o apphook.o radix.o logpatterns.o cfg-lex.o cfg-grammar.o timeutils.o alarms.o logparser.o logprocess.o logmpx.o logrewrite.o logmatcher.o gprocess.o globals.o control.o compat.o logqueue.o afsql.o tlscontext.o tlstransport.o ranlib: file: libsyslog-ng.a(afstreams.o) has no symbols ranlib: file: libsyslog-ng.a(compat.o) has no symbols ranlib: file: libsyslog-ng.a(afsql.o) has no symbols ranlib libsyslog-ng.a ranlib: file: libsyslog-ng.a(afstreams.o) has no symbols ranlib: file: libsyslog-ng.a(compat.o) has no symbols ranlib: file: libsyslog-ng.a(afsql.o) has no symbols if /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/local/include -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/eventlog -I/opt/local/include -DHAVE_SOCKADDR_SA_LEN -DLIBNET_BSDISH_OS -DLIBNET_BSD_BYTE_SWAP -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -Wall -MT main.o -MD -MP -MF ".deps/main.Tpo" -c -o main.o main.c; \ then mv -f ".deps/main.Tpo" ".deps/main.Po"; else rm -f ".deps/main.Tpo"; exit 1; fi /usr/bin/gcc-4.0 -O2 -Wall -L/opt/local/lib -o syslog-ng main.o libsyslog-ng.a -lfl -L/opt/local/lib -lglib-2.0 -lintl -liconv -L/opt/local/lib -levtlog -L/opt/local/lib -lssl -lcrypto -lz -lz -lnet -lwrap -lresolv Undefined symbols: "_configuration", referenced from: _configuration$non_lazy_ptr in libsyslog-ng.a(stats.o) _configuration$non_lazy_ptr in libsyslog-ng.a(cfg.o) _configuration$non_lazy_ptr in libsyslog-ng.a(templates.o) _configuration$non_lazy_ptr in libsyslog-ng.a(cfg-lex.o) _configuration$non_lazy_ptr in libsyslog-ng.a(cfg-grammar.o) _configuration$non_lazy_ptr in libsyslog-ng.a(affile.o) _configuration$non_lazy_ptr in libsyslog-ng.a(logmatcher.o) _configuration$non_lazy_ptr in libsyslog-ng.a(logreader.o) ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [syslog-ng] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
Hmm.. the configuration variable is global, and is defined in globals.c. As I see globals.o is included in the libsyslog-ng.a archive, thus it should link ok. Can you try if passing globals.o explicitly on the link command line solves your problem? Also, can you check if specifying libsyslog-ng.a twice solves the problem? Thanks. -- Bazsi
participants (2)
-
Balazs Scheidler
-
Mark Duling