8.4 - net/relayd won't start at boot but launches fine from rc.d, complains about missing libs
Damien Fleuriot
ml at my.gd
Mon Sep 8 16:19:58 UTC 2014
Hello List,
So, I've been stuck on this odd problem for a few days now and reinstalling
a fresh host didn't help.
/usr/local/sbin/relayd from net/relayd won't start at boot complaining
about a missing OpenSSL library.
It does start just fine when further invoked with
/usr/local/etc/rc.d/relayd start
At boot time, dmesg shows :
### dmesg -a
Starting relayd.
/libexec/ld-elf.so.1:
Shared object "libssl.so.8" not found, required by "relayd"
/etc/rc: WARNING: failed to start relayd
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
ldconfig correctly shows the incriminated library as per :
### ldconfig -r
91:-lssl.6 => /usr/lib/libssl.so.6
109:-lssl.8 => /usr/local/lib/libssl.so.8
Additionally the relayd binary itself shows what looks like correct linking
to the library :
### ldd /usr/local/sbin/relayd
/usr/local/sbin/relayd:
libmd.so.5 => /lib/libmd.so.5 (0x800678000)
libssl.so.8 => /usr/local/lib/libssl.so.8 (0x800788000)
libcrypto.so.8 => /usr/local/lib/libcrypto.so.8 (0x8008f0000)
libc.so.7 => /lib/libc.so.7 (0x800bdf000)
libthr.so.3 => /lib/libthr.so.3 (0x800e18000)
pkg info confirms the library was installed by openssl :
### pkg which /usr/local/lib/libssl.so.8
/usr/local/lib/libssl.so.8 was installed by package openssl-1.0.1_14
Thus far, I have tried, to no avail :
- entirely reinstall the host
- reinstall openssl
- reinstall relayd
How to fix :
ln -s /usr/local/lib/libssl.so.8 /usr/lib/
ln -s /usr/local/lib/libcrypto.so.8 /lib/
ldconfig -r now says :
### ldconfig -r
92:-lssl.6 => /usr/lib/libssl.so.6
108:-lssl.8 => /usr/lib/libssl.so.8
111:-lssl.8 => /usr/local/lib/libssl.so.8
ldd now says :
### ldd /usr/local/sbin/relayd
/usr/local/sbin/relayd:
libmd.so.5 => /lib/libmd.so.5 (0x800678000)
libssl.so.8 => /usr/lib/libssl.so.8 (0x800788000)
libcrypto.so.8 => /lib/libcrypto.so.8 (0x8008f0000)
libc.so.7 => /lib/libc.so.7 (0x800bdf000)
libthr.so.3 => /lib/libthr.so.3 (0x800e18000)
The host itself is installed with base openssl + openssl 1.0.1 from ports.
Openssl from ports is required by nginx and NRPE so I have to make do with
it (and yes, I know it's outdated, this is a test box).
Again, relayd starts just fine from /usr/local/etc/rc.d/ when I log into
the box, it's just at boot that it won't, without moving symbolic links
around.
Has anyone else experienced the same issues ?
I find the behaviour quite odd and definitely misleading here.
More information about the freebsd-questions
mailing list