NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

stale base libraries v. freshly-built packages



During the freeze leading up to pkgsrc-2012Q3, I started rebuilding all
my packages on my system tracking netbsd-6 (6.0_RC2 at the time, now
6.0_STABLE).  The machine in question has been tracking -current since
the early 5.99.x timeframe.

As such, it had accumulated a number of older versions of various shared
libraries, including some which are no longer part of the distribution.

When I went to install the saved binary packages on another machine with
a clean install of 6.0_STABLE, I discovered that a number of packages
wouldn't work due to being explicitly linked against an older version
of some shared libraries (e.g., libssl.so.9) or a library that is no
longer part of the distribution (e.g., libexecinfo.so.x.y).

Since the intent was to rebuild my usual collection of packages fresh,
I've taken to searching "/etc/mtree/set.*" for each file found under
"/lib" and "/usr/lib" and deleting any that didn't match.

Then I ran 'ldd' over the contents of "/usr/pkg/{,s}bin" and noted any
files that reported a shared library as "not found".  Then I referenced
that back to packages with 'pkg_info -F' and have been deleting and
rebuilding just those packages with affected files.

Is it normal for a system with several versions of a shared library
installed to have software link explicity with an earlier version?
Is there a way to force it to always use the latest one found?

--
|/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
|\ / jdbaker[snail]mylinuxisp[flyspeck]com    OpenBSD            FreeBSD
| X  No HTML/proprietary data in email.   BSD just sits there and works!
|/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645



Home | Main Index | Thread Index | Old Index