Greetings.
I tried to compile cyrus under Red Hat 7.1, but the following errors
occured:
[root@world master]# gcc -L/usr/local/lib -Wl,-rpath,/usr/local/lib -g -O2 -o master
master.o masterconf.o cyrusMasterMIB.o -lucdagent -lucdmibs -lsnmp -lssl -lcrypto
-lfl -ldb -lcom_err
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`smux_listen_sd'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`rpmdbClose'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`rpmdbGetIteratorOffset'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`headerLink'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`rpmdbOpen'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`rpmdbInitIterator'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`rpmGetPath'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`headerFree'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`XrpmdbNextIterator'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`rpmReadConfigFiles'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`headerGetEntry'
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libucdmibs.so: undefined reference to
`rpmdbFreeIterator'
collect2: ld returned 1 exit status
I suspected that it might be a compiler issue (2.96 is I believe still experimental)
so I compiled with kgcc:
[root@world master]# kgcc -L/usr/local/lib -Wl,-rpath,/usr/local/lib -g -O2 -o
master master.o masterconf.o cyrusMasterMIB.o -lucdagent -lucdmibs -lsnmp -lssl
-lcrypto -lfl -ldb -lcom_err
/usr/lib/libucdmibs.so: undefined reference to `smux_listen_sd'
/usr/lib/libucdmibs.so: undefined reference to `rpmdbClose'
/usr/lib/libucdmibs.so: undefined reference to `rpmdbGetIteratorOffset'
/usr/lib/libucdmibs.so: undefined reference to `headerLink'
/usr/lib/libucdmibs.so: undefined reference to `rpmdbOpen'
/usr/lib/libucdmibs.so: undefined reference to `rpmdbInitIterator'
/usr/lib/libucdmibs.so: undefined reference to `rpmGetPath'
/usr/lib/libucdmibs.so: undefined reference to `headerFree'
/usr/lib/libucdmibs.so: undefined reference to `XrpmdbNextIterator'
/usr/lib/libucdmibs.so: undefined reference to `rpmReadConfigFiles'
/usr/lib/libucdmibs.so: undefined reference to `headerGetEntry'
/usr/lib/libucdmibs.so: undefined reference to `rpmdbFreeIterator'
collect2: ld returned 1 exit status
Since it refers to rpm* stuff, I do not suspect that Cyrus itself is broken, but
Red Hat 7.1. I could not imagine why Cyrus would want to have anything to
do with rpms, unless this acronym stands for something else than the usual
binary packaging system.
Any help would be appreciated. I have no clue what libucdmibs.so's function is
and how to correct this. Is it possible that library is missing on the
compiler's command line?
Sincerely,
Hans Deragon