Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Jan 2016 19:05:53 -0500
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        Dimitry Andric <dim@FreeBSD.org>, Thomas Mueller <mueller6724@bellsouth.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Shared library version bump?
Message-ID:  <569ECF61.60505@FreeBSD.org>
In-Reply-To: <569ECB74.5010901@FreeBSD.org>
References:  <206770.43295.bm@smtp113.sbc.mail.ne1.yahoo.com> <C737C407-2AC7-4AFB-A2BF-DB7C60B785E8@FreeBSD.org> <569ECB74.5010901@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 01/19/16 06:49 PM, Jung-uk Kim wrote:
> On 01/19/16 06:05 PM, Dimitry Andric wrote:
>> On 19 Jan 2016, at 23:32, Thomas Mueller 
>> <mueller6724@bellsouth.net> wrote:
>>> 
>>> Has there recently been a version bump in the shared
>>> libraries? I saw no warning on this in the src or ports
>>> UPDATING files.
> 
>> This was already answered in reply to your previous post on this 
>> same issue.  As mentioned in the reply, OpenSSL has been
>> upgraded, and both of its shared libraries have been bumped, e.g.
>> they are now named libcrypto.so.8 and libssl.so.8.
> 
>> (Apparently you deleted the old libcrypto.so.7 and libssl.so.7, 
>> even though you should never do so until your ports are
>> upgraded.)
> 
> 
>>> I can no longer startx and can no longer run many other ports, 
>>> getting errors like
>>> 
>>> Shared object "libcrypto.so.7" not found, required by "X"
>>> xinit: giving up xinit: unable to connect to X server:
>>> Connection refused xinit: server error
>>> 
>>> and
>>> 
>>> root@amelia:~ # pkg info -f xserver Shared object
>>> "libssl.so.7" not found, required by "pkg"
>>> 
>>> Is this due to a version bump,
> 
>> Yes.
> 
> 
>>> or is it related to the messages I got in yesterday's kernel 
>>> installation like "unknown metadata record 4 ..."?
> 
>> No, that is something entirely different.  It is mainly
>> cosmetic, and you can ignore it, it will go away at the next
>> kernel update, if your kldxref executable is new enough.
> 
> 
>>> What do I do?  Make buildworld and kernel again, or rebuild
>>> all ports?  How do I find which ports need updating, or rebuild
>>> all except portmaster and pkg which I rebuilt after getting
>>> the errors?
> 
>> It is easiest to use pkg-static to reinstall your ports, e.g.:
> 
>> pkg-static update pkg-static upgrade
> 
>> Alternatively, rebuild all ports depending on OpenSSL.
> 
> A crude way to find almost all the ports depending on old OpenSSL
> is:
> 
> find /usr/local -type f -exec file '{}' ';' | \ awk -F: '{ if
> ($2~/ELF/) print $1 }' | \ xargs egrep -l 'lib(crypto|ssl)\.so\.7'
> | \ xargs pkg-static which -oq | sort -u

A slightly improved version (to exclude non-native ELF binaries):

find /usr/local -type f -exec file -e elf '{}' ';' | \
awk -F: '{ if ($2~/ELF.*FreeBSD/) print $1 }' | \
xargs egrep -l 'lib(crypto|ssl)\.so\.7' | \
xargs pkg-static which -oq | sort -u

Jung-uk Kim
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJWns9cAAoJEHyflib82/FGgqgIAJGZ/pP+hW6if0OI1bsCuvc8
yAGtNe1ODOlryysqqc/hXh0kxNFz2jZgvf/wxJeRrV1FXsnvi6eyrmSxKJp/uVPp
Ichrmyh46C7Rj2XPCzmuNrWM4oTjCy1flOMk9JubpAyL8OH+TKT6icooj8hXUvBp
razc6crsqNlfcPVeo+8XLvM6zz+hCQDDYd2ScvYBfMeuUJAHbBZ3PN6uyD+L2bag
LR4DU/6twvR/KozxjtLqNSQ/k42TMt4wKgRZa6V1uyWdWNVWiWlbu/fM6vNfHjxZ
4nug6SIm8Vt9y0479MW19yrNIoNwWONYL5uYW4pDSpMABnqtkH9qgGYzVymWTpQ=
=So35
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?569ECF61.60505>