From owner-freebsd-current@FreeBSD.ORG Wed Feb 25 02:05:41 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 5A814C00 for ; Wed, 25 Feb 2015 02:05:41 +0000 (UTC) Received: from mail-ig0-x229.google.com (mail-ig0-x229.google.com [IPv6:2607:f8b0:4001:c05::229]) (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 10974DF6 for ; Wed, 25 Feb 2015 02:05:41 +0000 (UTC) Received: by mail-ig0-f169.google.com with SMTP id hl2so33199551igb.0 for ; Tue, 24 Feb 2015 18:05:40 -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=WgxgFRinvuuYx9VBYbUUFKKu4qphq1+Ez3WZe7iz0NI=; b=dX4Yop7iiVTzW9tN3TwNv95y5TxeVv303AvxQEOPi7+qqs96Yab1D6K8c4sDF/47OT s6e403bTk9LM3NNXtBBkQqIdmkkzEretMBQi2EEc4+jBZBYGAksBheaNCExhqTX6/kTS PwT+pvPxv7DITnwDnsYboXFQmrvi1lVvuAs106NUDzybeZbjuZSs1yC0Qcjy8Q5kZs9w iemfyw75DmWAN5a9VOXHEDN6w2vURZwLy49qzExLYmIXgRqbOUQBP6h+8vnU/9IiE3ef 0W3yJgA8xzi/Rv1T1gIkFbnfYqh2gZKD5e6LqRNYNA5r6g1R9TX1eYUupxO4hh81bueC fbBw== X-Received: by 10.50.32.33 with SMTP id f1mr1692354igi.9.1424829940565; Tue, 24 Feb 2015 18:05:40 -0800 (PST) MIME-Version: 1.0 Received: by 10.64.120.35 with HTTP; Tue, 24 Feb 2015 18:05:19 -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 02:05:19 +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 02:05:41 -0000 On Wed, Feb 25, 2015 at 1:58 AM, Miguel Clara wrote: > > 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 provisi= on >>>> > `kerberos' >>>> > > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provisi= on >>>> > `named' >>>> > > rcorder: file `/usr/local/etc/rc.d/dnscrypt-proxy' is before unkno= wn >>>> > 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 fil= e >>>> > `/etc/rc.d/devfs'. >>>> > > rcorder: Circular dependency on provision `mountcritremote' in fil= e >>>> > `/etc/rc.d/mdconfig2'. >>>> > > rcorder: Circular dependency on provision `mountcritremote' in fil= e >>>> > `/etc/rc.d/newsyslog'. >>>> > > rcorder: Circular dependency on provision `mountcritremote' in fil= e >>>> > `/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 fil= e >>>> > `/etc/rc.d/archdep'. >>>> > > rcorder: Circular dependency on provision `mountcritremote' in fil= e >>>> > `/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 provisi= on >>>> > `kerberos' >>>> > > rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provisi= on >>>> > `named' >>>> > > rcorder: file `/usr/local/etc/rc.d/dnscrypt-proxy' is before unkno= wn >>>> > 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 fil= e >>>> > `/etc/rc.d/devfs'. >>>> > > rcorder: Circular dependency on provision `mountcritremote' in fil= e >>>> > `/etc/rc.d/mdconfig2'. >>>> > > rcorder: Circular dependency on provision `mountcritremote' in fil= e >>>> > `/etc/rc.d/newsyslog'. >>>> > > rcorder: Circular dependency on provision `mountcritremote' in fil= e >>>> > `/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 fil= e >>>> > `/etc/rc.d/archdep'. >>>> > > rcorder: Circular dependency on provision `mountcritremote' in fil= e >>>> > `/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 par= t: >>>> >>>> "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 th= is >>>> does not seem to be the case... >>>> >>>> I guess I'll have to go one by one and see if I can identify issue. Bu= t >>>> 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 h= ave >>> 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 FreeB= SD >>> still has usbd, so any port requiring it should be fixed. >>> >>> Also, webcamd and dbus have a circular dependency. It really needs to b= e >>> fixed some time, but does not break anything. >>> >>> I suspect that whatever is causing the multiple circular dependencies o= n >>> mountcritremote might be tied to the issue. I don't see the obvious pro= blem >>> here and I don't have it. Circular dependencies are a real pain to trac= k >>> 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 a= nd >>> 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 befor= e >>> 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 i= s 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 wro= ng". >> >> 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 ha= ve >> to go one by one and see if I can fix them, or maybe start by moving the= m >> 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 sur= e > 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 bette= r > 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@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@gmail.com >>> >> >> >