Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Dec 2007 10:46:08 +0000
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        Jack Raats <jack@jarasoft.net>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Starnge error
Message-ID:  <476E3C70.2090605@infracaninophile.co.uk>
In-Reply-To: <001701c84533$8cf7ae30$4001a8c0@jarasoft.net>
References:  <001701c84533$8cf7ae30$4001a8c0@jarasoft.net>

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

Jack Raats wrote:

> [Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 362 packages found (-0 +1) . done]
> Operation not permitted - /usr/local/lib/compat/pkg/libc.so.5
> Operation not permitted - /usr/local/lib/compat/pkg/libc_r.so.5
> Operation not permitted - /usr/local/lib/compat/pkg/libcrypt.so.2
> Operation not permitted - /usr/local/lib/compat/pkg/libpthread.so.1
> Operation not permitted - /usr/local/lib/compat/pkg/libthr.so.1
> --->  Upgrading 'usermin-1.310' to 'usermin-1.320' (sysutils/usermin)
> 
> What is wrong?

Portupgrade is trying to copy old versions of the compat5 libraries
from /usr/local/lib/compat to /usr/local/lib/compat/pkg. Unfortunately
you have libraries of the same names already existing in .../compat/pkg
and those have the schg flag set so they can't be overwritten.  This isn't
a huge problem -- the new libraries will have gone in and will be working
correctly.  You may however have found that some processes have died on
you because the on-disk image of the shlib they had mmapped has gone away.
Those processes will be absolutely fine once restarted, as they'll
just link against the /new/ copy of the shlib.

I'm not  entirely sure what the point of making stuff in .../compat/pkg
immutable is.  In principle .../compat/pkg is a temporary resting place
for shlibs that have possibly been mmapped into running processes and
thus should not be arbitrarily overwritten while portupgrade is running
lest various software starts crashing all around.  

So long as a) all your ports are completely up to date and b) you've
rebooted the system recently or restarted all of the software in question,
in theory nothing will be linking against the stuff in .../compat/pkg --
(especially if there are other shlibs with the same ABI version number
elsewhere in the system: .../compat/pkg is the location of last resort
for ld.so to find shlibs).  In that case the duplicates from .../compat/pkg
can simply be blown away with impunity.  See also 'portsclean -L' and the
sysutils/libchk port for a handy tool that helps you work out if shlibs
really are surplus to requirements.

	Cheers,

	Matthew

- -- 
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
                                                  Kent, CT11 9PW
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHbjxw8Mjk52CukIwRCJo1AKCN8DoyjNllgQaXAEtpTSMDZYVuoACfV9jP
BHkeNBSTAJ4MvBXzKDJm56I=
=s++6
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?476E3C70.2090605>