old cruft after source upgrading --- clean install?

Mel fbsd.questions at rachie.is-a-geek.net
Thu Jan 22 16:08:51 PST 2009


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.


More information about the freebsd-questions mailing list