Re: Shared library version bump?

From: Jung-uk Kim <jkim_at_FreeBSD.org>
Date: Tue, 19 Jan 2016 19:05:53 -0500
-----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_at_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_at_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-----
Received on Tue Jan 19 2016 - 23:05:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:02 UTC