Help needed: Upgrading packages broke my system
parv.0zero9+freebsd at gmail.com
Tue Apr 6 10:11:19 UTC 2021
On Mon, Apr 5, 2021 at 4:32 PM Ronald F. Guilmette wrote:
> I have been seriously remiss in keeping my old 12.0-RELEASE system up
> to date. I am trying to rectify that now.
Do you mean you will keep FreeBSD at 12.0-RELEASE and will update
only the packages?
Or, are you upgrading both FreeBSD & packages?
What version [12.x, 13.0, or 14] of FreeBSD are you at now in any case?
I have just tried to do "pkg upgrade" and after a bit of initial fooling
> around (e.g. to remove packages which no longer exist) I managed to get
> the process to make some progress, and indeed about 608 packages were
> ostensibly upgraded, however now the Xorg server won't start, and I do
> have reason to believe that this may relate to a number of errors that
> were flagged during the various package upgrades, all of which looked
> like this:
> ld-elf.so.1: /lib/libthr.so.3: version FBSD_1.6 required by
> /usr/local/lib/libglib-2.0.so.0 not found
> There is an existing /lib/libthr.so.3 file on the system in question,
> but it si quite obviously out of date, with mod date set to Dec 6, 2018.
That date matches for FreeBSD 12.0.
Could it be that packages expect FreeBSD 12.2 version of
(Would that be so different that linkage breaks between 12.0 & 12.2?
But then ".3" had not been changed to a bigger number?)
I have made an effort to find out what package this file belongs to as
> pkg info --file /lib/libthr.so.3
That "/lib/libthr.so.3" is installed with FreeBSD system (unless
you are now using packaged base, then I would be out of my depth).
pkg info --file libthr.so.3
In both cases I got back only the error:
> pkg: No package(s) matching <<filename>>
Then again does not look like it [that you are using packaged base].
So that file was not installed via any package; was|is installed
when installed FreeBSD world.
Please advise. How do I get this file updated so as to restore the
> system in question to something resembling a useful state.
You could (force) reinstall the package that had added
"/usr/local/lib/libglib-2.0.so.0" file; see "pkg which" usage in
someone else's response to find that particular package. (In my case
that package is glib 2.66.x)
In worst case, you could delete & install all the packages. In worse
case, you could delete a dependency that is shared by a large number
of packages. Then install the dependent packages as required.
In even badder worst case, you may need to update FreeBSD from 12.0 to 12.2
and reinstall the needed packages. While keeping FreeBSD at 12.0, you may
need to install the software by compiling yourself from source via ports.
More information about the freebsd-questions