Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jan 2009 15:08:49 -0900
From:      Mel <fbsd.questions@rachie.is-a-geek.net>
To:        freebsd-questions@freebsd.org
Cc:        Robert Huff <roberthuff@rcn.com>, Novembre <novembre@gmail.com>
Subject:   Re: old cruft after source upgrading --- clean install?
Message-ID:  <200901221508.49573.fbsd.questions@rachie.is-a-geek.net>
In-Reply-To: <3b47caa90901221541r467869e9hbe882380b9e69316@mail.gmail.com>
References:  <3b47caa90901211835o7eae77d9v2bead5e01dcf14af@mail.gmail.com> <18807.58863.983982.191053@jerusalem.litteratus.org> <3b47caa90901221541r467869e9hbe882380b9e69316@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 22 January 2009 14:41:30 Novembre wrote:

> Also, what are all these unreferenced libraries (according to libchk) doing
> on my machine (see the
> previous post)?

Unreferenced can mean "no program or other library uses this library", but can 
also mean "libchk was unable to find a program that uses this library, yet a 
program/library might still need it through runtime loading". If you're 
interested in the technical details, see dlopen(3).

All libchk can determine is whether a library is linked against, not whether 
it uses some construct to dynamically load a library upon request.

That said:
- if libfoo.so.2 is said to be unreferenced
- AND libfoo.so.3 (or higher) exists
- it is 99.9% safe to assume libfoo.so.2 can be deleted.

Also, for the list libchk gives concerning not anything in /usr/local, 
execute:
cd /usr/src
make delete-old-libs

You should've done that right after you rebuilt your ports [1], but you can 
still do it.

Last but not least, since you're doing a *minor* version upgrade, it's not 
strictly necessary to rebuild all your ports. Keeping them up-to-date is not 
a bad idea, but unless it's explicitedly mentioned in /usr/src/UPDATING, no 
library in FreeBSD is version bumped, so that installed applications break. 
This only applies to *major* version upgrades.

[1] It's possible to do after source upgrade and before port rebuild, but not 
if you use portupgrade (use portmaster instead), since it needs ruby which is 
linked to the old 6.x libraries.
-- 
Mel

Problem with today's modular software: they start with the modules
    and never get to the software part.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901221508.49573.fbsd.questions>