All,
We're having some problems with linking on Solaris 10 x64. On startup
with certain plugins enabled, we get messages like:
---
./sbin/rsyslogd -c5 -f/path/to/rsyslog.conf -N1
rsyslogd: version 5.8.1, config validation run (level 1), master config
/path/to/rsyslog.conf
rsyslogd: could not load module
'./rsyslog-5.8.13/lib/rsyslog/imrelp.so', dlopen: ld.so.1: rsyslogd:
fatal: relocation error: file ./rsyslog-5.8.13/lib/rsyslog/imrelp.so:
symbol relpEngineDestruct: referenced symbol not found
[try http://www.rsyslog.com/e/2066]
rsyslogd: the last error occured in ./rsyslog/conf/tcp-server.conf, line
5:"$ModLoad imrelp"
rsyslogd: invalid or yet-unknown config file command - have you
forgotten to load a module? [try http://www.rsyslog.com/e/3003]
rsyslogd: the last error occured in ./rsyslog/conf/tcp-server.conf, line
10:"$InputRELPServerRun 20514"
rsyslogd: the last error occured in ./rsyslog/conf/rsyslog.conf, line
8:"$IncludeConfig ./rsyslog/conf/tcp-server.conf"
rsyslogd: CONFIG ERROR: could not interpret master config file
'./rsyslog/conf/rsyslog.conf'. [try http://www.rsyslog.com/e/2124]
---
From the PREFIX directory, ldd shows undefined debugging symbols in
some modules (omitted modules with no linking errors):
---
# find . -name \*.so -print -exec ldd -d {} \;
./lib/rsyslog/omrelp.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: dbgprintf (./lib/rsyslog/omrelp.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/lmnsd_ptcp.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: Debug (./lib/rsyslog/lmnsd_ptcp.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/immark.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: MarkInterval (./lib/rsyslog/immark.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/lmnet.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: Debug (./lib/rsyslog/lmnet.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/lmtcpsrv.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: Debug (./lib/rsyslog/lmtcpsrv.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/imtcp.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: Debug (./lib/rsyslog/imtcp.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/imdiag.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: Debug (./lib/rsyslog/imdiag.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/omprog.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: Debug (./lib/rsyslog/omprog.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/imudp.so
librt.so.1 => /lib/64/librt.so.1
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
libaio.so.1 => /lib/64/libaio.so.1
libmd.so.1 => /lib/64/libmd.so.1
symbol not found: Debug (./lib/rsyslog/imudp.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/lmnetstrms.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: Debug (./lib/rsyslog/lmnetstrms.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/imsolaris.so
libdoor.so.1 => /lib/64/libdoor.so.1
libpthread.so.1 => /lib/64/libpthread.so.1
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: Debug (./lib/rsyslog/imsolaris.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/omruleset.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: Debug (./lib/rsyslog/omruleset.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/imfile.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: Debug (./lib/rsyslog/imfile.so)
libm.so.2 => /lib/64/libm.so.2
./lib/rsyslog/imrelp.so
libc.so.1 => /lib/64/libc.so.1
libgcc_s.so.1 => /opt/csw/gcc4/lib/amd64/libgcc_s.so.1
symbol not found: dbgprintf (./lib/rsyslog/imrelp.so)
libm.so.2 => /lib/64/libm.so.2
---
We're compiling with GCC 4.3.3, as provided by the OpenCSW project. Our
build steps are:
---
env \
PATH="/opt/csw/gcc4/bin:/opt/csw/bin:/opt/csw/gnu:/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin"
\
AR="/opt/csw/bin/gar" \
CC="/opt/csw/gcc4/bin/gcc" \
CFLAGS="-O3 -march=athlon64 -m64 -I/opt/csw/include" \
LDFLAGS="-L${INSTALL}/lib -R${INSTALL}/lib
-L/opt/csw/gcc4/lib/amd64 -R/opt/csw/gcc4/lib/amd64 -L/opt/csw/lib/amd64
-R/opt/csw/lib/amd64 " \
./configure \
--prefix=${INSTALL} \
--libdir=${INSTALL}/lib \
--includedir=${INSTALL}/include \
--disable-klog \
--enable-imfile \
--enable-imsolaris \
--enable-regexp \
--enable-imdiag \
--enable-omprog \
--enable-relp \
--disable-omuxsock \
--enable-static=relp \
RELP_LIBS=${INSTALL}/lib \
RELP_CFLAGS=-I${INSTALL}/include
env \
PATH="/opt/csw/gcc4/bin:/opt/csw/bin:/opt/csw/gnu:/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin"
\
/opt/csw/bin/gmake
env \
PATH="/opt/csw/gcc4/bin:/opt/csw/bin:/opt/csw/gnu:/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin"
\
/opt/csw/bin/gmake install
---
We don't see anything unusual in the compiler output.
Any suggestions on what flags we need to set at compile time to
correctly resolve these linking issues?
Thanks,
--Scott Severtson
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE
THAT.