From owner-freebsd-current@FreeBSD.ORG Wed Feb 25 01:58:56 2015 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C7D81A8C for ; Wed, 25 Feb 2015 01:58:56 +0000 (UTC) Received: from mail-ig0-x22b.google.com (mail-ig0-x22b.google.com [IPv6:2607:f8b0:4001:c05::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 87F9CD1F for ; Wed, 25 Feb 2015 01:58:56 +0000 (UTC) Received: by mail-ig0-f171.google.com with SMTP id h15so31862348igd.4 for ; Tue, 24 Feb 2015 17:58:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=mKP1ZXUnNTdHXXtLfF5IlGOcvcrctvkfRhcwzl6vUII=; b=TANgwXces1m4lJKyAevcaUaVE9R18VClZj59AtyKuqwq+rZxjuDV4SfW2yLyTZjWK8 OLdF5TdvwHO+BByUaEuxsquIiqnP6knH3AQI1nqe3B6IVp6B2nFWGlaNLKchegTIgKK5 QOYiRT27Nr1CMFQSIPAqbrMzOgQYGugYFxCwp0Paw+YVJLdIcPuYM6jFuWyjmvDj99L5 GTbPQdehLrrOD5cAwXQOsWV6NTug93rr+XpeMbOsQKPt5FOAQdDG+sbeHfXRXR+Po9Cd RKvwkAU9i4qj9rtLWjL6j+eE81Y4Vs+Lek6MkK/0dRiOH+gSx211VO+K701DZeyPmOcx JzoQ== X-Received: by 10.50.50.142 with SMTP id c14mr1644141igo.42.1424829535638; Tue, 24 Feb 2015 17:58:55 -0800 (PST) MIME-Version: 1.0 Received: by 10.64.120.35 with HTTP; Tue, 24 Feb 2015 17:58:35 -0800 (PST) In-Reply-To: References: <64AF7708-217B-4AC0-A47A-AD1B0BFF7EDC@gmail.com> <885DA4D0-9644-4F06-97C9-04EAD7B4958C@gmail.com> From: Miguel Clara Date: Wed, 25 Feb 2015 01:58:35 +0000 Message-ID: Subject: Re: Shared object "libsodium.so.13" not found, required by "dnscrypt-proxy" To: Kevin Oberman Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: freebsd-current , Garrett Cooper X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 01:58:57 -0000 On Wed, Feb 25, 2015 at 12:26 AM, Miguel Clara wrote: > > On Tue, Feb 24, 2015 at 11:11 PM, Kevin Oberman > wrote: > >> On Tue, Feb 24, 2015 at 10:53 AM, Miguel Clara >> wrote: >> >>> On Tue, Feb 24, 2015 at 6:13 PM, Garrett Cooper >>> wrote: >>> >>> > On Feb 24, 2015, at 6:35, Miguel Clara wrote= : >>> > >>> > > ]# rcorder /etc/rc.d/* /usr/local/etc/rc.d/* >/dev/null >>> > > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provisio= n >>> > `kerberos' >>> > > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provisio= n >>> > `named' >>> > > rcorder: file `/usr/local/etc/rc.d/dnscrypt-proxy' is before unknow= n >>> > 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 >>> > =E2=80=98/SERVERS|cleanvar|ldconfig|dbus/ { print NR, $0 }=E2=80=99 >>> > > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provisio= n >>> > `kerberos' >>> > > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provisio= n >>> > `named' >>> > > rcorder: file `/usr/local/etc/rc.d/dnscrypt-proxy' is before unknow= n >>> > 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=E2=80=99s going wrong is the result of some of = my >>> changes to >>> > remove etc/rc.d based on build knobs=E2=80=A6 >>> > 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 thi= s >>> 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 o= r >> kerberos. As far as I can tell, no FreeBSD port provides a tpmd, so I ha= ve >> 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 FreeBS= D >> 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 prob= lem >> 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 an= d >> 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 wron= g". > > 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 hav= e > 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 a= nd > 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 > >> -- >> Kevin Oberman, Network Engineer, Retired >> E-mail: rkoberman@gmail.com >> > >