Date: Wed, 19 Oct 2016 19:27:13 +0100 From: Gary Palmer <gpalmer@freebsd.org> To: "Kevin P. Neal" <kpn@neutralgood.org> Cc: Matthew Seaman <matthew@FreeBSD.org>, freebsd-stable@freebsd.org Subject: Re: 11.0 Install Question Message-ID: <20161019182713.GA73102@in-addr.com> In-Reply-To: <20161019175523.GA37473@neutralgood.org> References: <53CC5785-5ABC-4235-9E3B-ECF6A9E0A74B@mac.com> <20161019144953.34e63e30@gmail.com> <DA7445C4-E802-4598-96BB-BEE781642EEC@mac.com> <58073101.2000203@quip.cz> <20161019085504.GA37097@xtaz.uk> <cc26405b-d824-8392-128d-182eafccbf8b@FreeBSD.org> <20161019175523.GA37473@neutralgood.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 19, 2016 at 01:55:23PM -0400, Kevin P. Neal wrote: > On Wed, Oct 19, 2016 at 10:08:04AM +0100, Matthew Seaman wrote: > > On 2016/10/19 09:55, Matt Smith wrote: > > > On Oct 19 10:38, Miroslav Lachman wrote: > > >> Jonathan Haack wrote on 2016/10/19 10:09: > > >>> Awe geez ... pkg won't work ... says "shared object "libssl.so.7" not > > >>> found, required by "pkg" > > >> > > >> Do not panic, just run pkg-static to upgrade pkg it-self > > >> > > >> /usr/local/sbin/pkg-static install -f pkg > > >> > > > > > > I think that these instructions should be in the announcement release > > > notes as this question comes up a lot. The notes just say something like > > > "upgrade all your packages". Most people will then just try and run pkg > > > upgrade and get that error without knowing how to solve it. It's not > > > intuitive unless you have come across this before. > > > > pkg(8) does have a built-in warning when it detects an OS major version > > upgrade, which is to do a forced upgrade of pkg(8) so it matches the ABI > > versions of system shlibs. Did that warning appear in this case? > > Loading of shared libraries generally happens before main() is entered. > It follows that pkg wouldn't have a chance to do anything useful before > dying if a library is missing. Hi, I don't think this is strictly true On one of my systems at least (10.x), the main pkg binary is in /usr/sbin which is a shim which either offers to install a full pkg binary or calls the full pkg binary with whatever arguments you passed it. The main pkg binary lives in /usr/local/sbin/pkg. It seems it should be possible to add some kind of check to the shim to "do the right thing" and offer to use pkg-static to upgrade the main pkg binary if the dynamically linked one is broken. Or maybe it should default to calling pkg-static instead of pkg, which would prevent the problem in the first place. Of course this assumes the user has /usr/sbin before /usr/local/sbin on their path, but I suspect that is true in most cases Regards, Gary
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20161019182713.GA73102>