Re: Shared object "libsodium.so.13" not found, required by "dnscrypt-proxy"

From: Miguel Clara <miguelmclara_at_gmail.com>
Date: Wed, 25 Feb 2015 02:05:19 +0000
On Wed, Feb 25, 2015 at 1:58 AM, Miguel Clara <miguelmclara_at_gmail.com>
wrote:

>
> On Wed, Feb 25, 2015 at 12:26 AM, Miguel Clara <miguelmclara_at_gmail.com>
> wrote:
>
>>
>> On Tue, Feb 24, 2015 at 11:11 PM, Kevin Oberman <rkoberman_at_gmail.com>
>> wrote:
>>
>>> On Tue, Feb 24, 2015 at 10:53 AM, Miguel Clara <miguelmclara_at_gmail.com>
>>> wrote:
>>>
>>>> On Tue, Feb 24, 2015 at 6:13 PM, Garrett Cooper <yaneurabeya_at_gmail.com>
>>>> wrote:
>>>>
>>>> > On Feb 24, 2015, at 6:35, Miguel Clara <miguelmclara_at_gmail.com>
>>>> wrote:
>>>> >
>>>> > > ]# rcorder /etc/rc.d/* /usr/local/etc/rc.d/* >/dev/null
>>>> > > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision
>>>> > `kerberos'
>>>> > > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision
>>>> > `named'
>>>> > > rcorder: file `/usr/local/etc/rc.d/dnscrypt-proxy' is before unknown
>>>> > provision `unbound'
>>>> > > rcorder: Circular dependency on file `/usr/local/etc/rc.d/webcamd'.
>>>> > > rcorder: Circular dependency on provision `dbus' in file
>>>> > `/usr/local/etc/rc.d/webcamd'.
>>>> > > rcorder: Circular dependency on provision `ldconfig' in file
>>>> > `/usr/local/etc/rc.d/dnscrypt-proxy'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/devfs'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/mdconfig2'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/newsyslog'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/syslogd'.
>>>> > > rcorder: Circular dependency on provision `NETWORKING' in file
>>>> > `/etc/rc.d/kdc'.
>>>> > > rcorder: Circular dependency on provision `ldconfig' in file
>>>> > `/etc/rc.d/SERVERS'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/archdep'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/SERVERS'.
>>>> > > rcorder: requirement `tpmd' in file `/usr/local/etc/rc.d/tcsd' has
>>>> no
>>>> > providers.
>>>> > > rcorder: Circular dependency on file `/usr/local/etc/rc.d/uuidd'.
>>>> > > rcorder: requirement `usbd' in file `/usr/local/etc/rc.d/hald' has
>>>> no
>>>> > providers.
>>>> > >
>>>> > > # rcorder /etc/rc.d/* /usr/local/etc/rc.d/* | awk
>>>> > ‘/SERVERS|cleanvar|ldconfig|dbus/ { print NR, $0 }’
>>>> > > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision
>>>> > `kerberos'
>>>> > > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision
>>>> > `named'
>>>> > > rcorder: file `/usr/local/etc/rc.d/dnscrypt-proxy' is before unknown
>>>> > provision `unbound'
>>>> > > rcorder: Circular dependency on file `/usr/local/etc/rc.d/webcamd'.
>>>> > > rcorder: Circular dependency on provision `dbus' in file
>>>> > `/usr/local/etc/rc.d/webcamd'.
>>>> > > rcorder: Circular dependency on provision `ldconfig' in file
>>>> > `/usr/local/etc/rc.d/dnscrypt-proxy'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/devfs'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/mdconfig2'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/newsyslog'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/syslogd'.
>>>> > > rcorder: Circular dependency on provision `NETWORKING' in file
>>>> > `/etc/rc.d/kdc'.
>>>> > > rcorder: Circular dependency on provision `ldconfig' in file
>>>> > `/etc/rc.d/SERVERS'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/archdep'.
>>>> > > rcorder: Circular dependency on provision `mountcritremote' in file
>>>> > `/etc/rc.d/SERVERS'.
>>>> > > rcorder: requirement `tpmd' in file `/usr/local/etc/rc.d/tcsd' has
>>>> no
>>>> > providers.
>>>> > > rcorder: Circular dependency on file `/usr/local/etc/rc.d/uuidd'.
>>>> > > rcorder: requirement `usbd' in file `/usr/local/etc/rc.d/hald' has
>>>> no
>>>> > providers.
>>>> > > cleanvar: Command not found.
>>>> > > dbus/: Command not found.
>>>> > >
>>>> > > Note that this is still with the change to dnscrypt-ptoxy REQUIRE
>>>> > (adding ldconfig)
>>>> >
>>>> > Your rcorder is 50 shades of broken :(. Please remove all local
>>>> > modifications to scripts, then repost the output of the rcorder
>>>> commands
>>>> > again. I suspect what’s going wrong is the result of some of my
>>>> changes to
>>>> > remove etc/rc.d based on build knobs…
>>>> > Cheers,
>>>> >
>>>>
>>>> So much like the movies them... damn.... :X
>>>>
>>>> I don't recall any changes to the rc.d scripts except the one to
>>>> dnscrypt-proxy (adding the ldconfig REQUIRE)
>>>>
>>>> I also don't really know what to make of the output... expect this part:
>>>>
>>>> "Circular dependency on provision", but the man says:
>>>> A set of files has a circular dependency which was detected while
>>>> processing the stated condition.
>>>>
>>>> So it should mean that 'A' requires 'B' but 'B' requires 'A'... but this
>>>> does not seem to be the case...
>>>>
>>>> I guess I'll have to go one by one and see if I can identify issue. But
>>>> first I'll make sure the ports that use those rc.d scripts are up to
>>>> date.
>>>>
>>>
>>> Just to save a bit of time, many RC scripts are messed up at install
>>> time.
>>>
>>> One of the worst I have is for security/trousers-tddl. It is a mess. It
>>> wants kerberos and named, but most FreeBSD systems no longer run named or
>>> kerberos. As far as I can tell, no FreeBSD port provides a tpmd, so I have
>>> no idea where the heck that comes from.
>>>
>>> hald wants usbd which has been obsolete for some years. Certainly no
>>> providers any longer. I don't think that any supported version of FreeBSD
>>> still has usbd, so any port requiring it should be fixed.
>>>
>>> Also, webcamd and dbus have a circular dependency. It really needs to be
>>> fixed some time, but does not break anything.
>>>
>>> I suspect that whatever is causing the multiple circular dependencies on
>>> mountcritremote might be tied to the issue. I don't see the obvious problem
>>> here and I don't have it. Circular dependencies are a real pain to track
>>> down as they are often not direct. A required E and G and B requires A. But
>>> the rcorder only knows that. It does not report that E does require B and
>>> just reports that A is a circular dependency. (I hope that makes some
>>> sense.)
>>>
>>> Normally mountcritremote should be very soon after NETWORKING...usually
>>> after NETWORKING and netwait. This means it should run right after the
>>> network starts and before anything that depends on the network.
>>> rcorder /etc/rc.d/* /usr/local/etc/rc.d/* | less should show this with
>>> ldconfig right after mountcritremote. There is no reason that devfs,
>>> syslogd or any of the others listed should precede mountcritremote! The
>>> errors indicate that SOMETHING before NETWORKING and netwait is causing all
>>> of these other things to run and, BOOM, your script is firing off before
>>> ldconfig is run.
>>>
>>> Good luck! It will likely be tedious, but looking at the output of
>>> rcorder should point the finger in at least the right direction. Hete is an
>>> exerpt from mine in the area where these things belong:
>>> /etc/rc.d/NETWORKING
>>> /etc/rc.d/netwait
>>> /etc/rc.d/mountcritremote
>>> /etc/rc.d/ldconfig
>>> /etc/rc.d/accounting
>>> /etc/rc.d/newsyslog
>>> /etc/rc.d/syslogd
>>> /etc/rc.d/ntpdate
>>> /etc/rc.d/rpcbind
>>> /etc/rc.d/nfsclient
>>> /etc/rc.d/devfs
>>> /etc/rc.d/ipmon
>>> /etc/rc.d/mdconfig2
>>> /etc/rc.d/kdc
>>>
>>
>> Kevin... many thanks, for this I was really thinking the same... "I just
>> installed the ports and the system was upgrade properly WTH did I do wrong".
>>
>> I've reinstalled the the ports of the affected scripts to be sure I'm
>> running the most updated version, I still see the issues so now I'lll have
>> to go one by one and see if I can fix them, or maybe start by moving them
>> elsewhere and run rcorder until its happy and then move back one by one and
>> rcorder should start complaining...
>>
>> But just so I try to understand this better.... dbus and webcamd have a
>> circular dependency... is this beacause:
>> webcamd requires "FILESYSTEMS netif dbus"
>> dbus requires "DAEMON ldconfig"
>>
>> And then ldconfig also requires FILESYSTEMS?
>>
>>
>>
> Acctaully dnscrypt-proxy is running just after SERVERS and this requires
> ldconfig but does not run it before... Example:
>
> etc/rc.d/netif
> /etc/rc.d/devd
> /etc/rc.d/ipsec
> rcorder: Circular dependency on provision `mountcritremote' in file
> `/etc/rc.d/devfs'.
> /etc/rc.d/devfs
> /etc/rc.d/ipmon
> rcorder: Circular dependency on provision `mountcritremote' in file
> `/etc/rc.d/mdconfig2'.
> /etc/rc.d/mdconfig2
> rcorder: Circular dependency on provision `mountcritremote' in file
> `/etc/rc.d/newsyslog'.
> /etc/rc.d/newsyslog
> rcorder: Circular dependency on provision `mountcritremote' in file
> `/etc/rc.d/syslogd'.
> /etc/rc.d/syslogd
> rcorder: Circular dependency on provision `NETWORKING' in file
> `/etc/rc.d/kdc'.
> /etc/rc.d/kdc
> /etc/rc.d/watchdogd
> /etc/rc.d/savecore
> rcorder: Circular dependency on provision `ldconfig' in file
> `/etc/rc.d/SERVERS'.
> rcorder: Circular dependency on provision `mountcritremote' in file
> `/etc/rc.d/archdep'.
> /etc/rc.d/archdep
> /etc/rc.d/abi
> rcorder: Circular dependency on provision `mountcritremote' in file
> `/etc/rc.d/SERVERS'.
> /etc/rc.d/SERVERS
> /usr/local/etc/rc.d/dnscrypt-proxy
> /etc/rc.d/resolv
> /etc/rc.d/local_unbound
> /etc/rc.d/atm2
> /etc/rc.d/pfsync
> /etc/rc.d/pflog
> /etc/rc.d/pf
> /etc/rc.d/stf
> /etc/rc.d/ppp
> /etc/rc.d/routing
> /etc/rc.d/mroute6d
> /etc/rc.d/nsswitch
> /etc/rc.d/rtsold
> /etc/rc.d/static_ndp
> /etc/rc.d/static_arp
> /etc/rc.d/bridge
> /etc/rc.d/route6d
> /etc/rc.d/routed
> /etc/rc.d/defaultroute
> /etc/rc.d/ipfw
> /etc/rc.d/NETWORKING
>
>
> If I just leave SERVERS out of dnscrypt-proxy the order seems ok (not sure
> if perfect).
> SERVERS now runs after NETWORKING, and still runs because DEAMON requires
> SERVERS and a bunch of the rc.d's require DEAMON ofc...
>
> Now its more like this (just shoing some to proof dnscrypt-proxy is better
> placed now:
> % rcorder /etc/rc.d/* /usr/local/etc/rc.d/* | egrep
> "SERVERS|ldconfig|dnscrypt|DAEMON|NETWORKING|FILESYSTEMS|sshd"
> rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision
> `kerberos'
> rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision
> `named'
> rcorder: Circular dependency on file `/usr/local/etc/rc.d/webcamd'.
> rcorder: Circular dependency on provision `dbus' in file
> `/usr/local/etc/rc.d/webcamd'.
> rcorder: Circular dependency on file `/usr/local/etc/rc.d/uuidd'.
> rcorder: requirement `usbd' in file `/usr/local/etc/rc.d/hald' has no
> providers.
> /etc/rc.d/FILESYSTEMS
> /etc/rc.d/NETWORKING
> /etc/rc.d/ldconfig
> /etc/rc.d/SERVERS
> /etc/rc.d/DAEMON
> /etc/rc.d/sshd
> /usr/local/etc/rc.d/dnscrypt-proxy
>
>
> So basically if SERVERS is required by dnscrypt-proxy ldconfig (and
> others) complain about "Circular dependency" issues and don't run, I have
> no idea why, but could somebody try to replicate the issue in freebsd
> current (by installing dnscrypt-proxy I mean)?
>
> thanks
>
>
Actually I have another box with Current:

I can not reproduce the issue, dnscrypt and SERVERS have the same in
"REQUIRE"

The order machine as a older kernel/world version:

FreeBSD hpbsd 11.0-CURRENT FreeBSD 11.0-CURRENT #7 b6a4dfa(master)-dirty:
Tue Feb 10 22:21:46 WET 2015
root_at_hpbsd:/usr/obj/usr/src/sys/GENERIC-NODEBUG
 amd


FreeBSD r2d2 11.0-CURRENT FreeBSD 11.0-CURRENT #9
r279098+c2ec8fb(master)-dirty <--- this is the one where I see the issue!

>
>>
>>> --
>>> Kevin Oberman, Network Engineer, Retired
>>> E-mail: rkoberman_at_gmail.com
>>>
>>
>>
>
Received on Wed Feb 25 2015 - 01:05:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:55 UTC