GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PKG_LIBCHK (1)

NAME

pkg_libchk - check packages for links against missing libraries

CONTENTS

Synopsis
Description
Options
Notes
Sorted Output
Examples
Exit Codes
Compatibility
See Also
History
Author

SYNOPSIS

pkg_libchk [-achmnoqrRv] [packages]

DESCRIPTION

The pkg_libchk script uses pkg_info(1), ldd(1) and readelf(1) to check whether a package is linked against missing libraries or libraries residing in %%PREFIX%%/lib/compat and its subfolders.

OPTIONS

The following options are available:
-a --all
  Check all packages. This is the default action in case no packages have been specified.
-c --clean
  Create clean output without status messages.
-h --help
  Displays the available options.
-jN --jobsN
  Specify the amount of parallel jobs the script will attempt run. The default is two jobs per CPU core.
-m --mean
  In this mode all the checks to detect false positives are turned off. This has several effects. Packages like OpenOffice which do not rely on the OS to find their libraries will yield lots of hits.

Also indirect dependencies will be printed. The diffrence is that this way the packages currently inoperable will be returned instead of the packages that need to be rebuild in order to fix the damage.

Running the script in mean mode reduces the run time by approximately 15%.

-n --no-compat
  This deactivates detecting compat libraries in %%PREFIX%%/lib/compat as missing libraries.
-o --origin
  Instead of the package name the package origin is printed.
-q --raw
  Only print the names of affected packages. Do not print any details. This option is meant for machine readability. It also speeds up operation on affected packages, because it allows the script to move to the next package without checking the whole package.

This option cannot be combined with verbose output.

-r --recursive
  Also check packages the given packages depend on.
-R --upward-recursive
  Also check the packages depending on the given packages.
-v --verbose
  Be verbose about missing dependencies. Instead of rejecting indirect dependencies or false positives it will print why they would have been rejected.

This option cannot be combined with raw output.

packages
  Packages are package names or shell patterns matching these.

NOTES

Some packages like OpenOffice or Java environments always miss some libraries, this is because they have their own ways of finding libraries.

This output can be supressed by adding the following lines to the file /etc/libmap.conf:

# Clean up pkg_libchk output.
[libofficebean.so]
libjawt.so      libc.so

[libJdbcOdbc.so] libodbcinst.so  libc.so libodbc.so      libc.so

SORTED OUTPUT

Since the possibility to run parallel jobs was introduced, output no longer is sorted. If you find that annoying you can run:
pkg_libchk -j1

Of course there is a heavy performance penalty especially on systems with several CPU cores.

Another way around this is to pipe output into sort(1):

pkg_libhck | sort

This will run faster, but output will be printed after the script has terminated.

EXAMPLES

To check all your packages run:
pkg_libchk

To create raw output for everything connected to gtk.

pkg_libchk -q \*gtk\*

After upgrading a library, in this case icu, you can check all depending packages:

pkg_libchk -R icu-\*

EXIT CODES

1 An unknown parameter has been supplied.
2 The incompatible parameters -v and -q have been supplied.
3 The parameter -j has been supplied without an acceptable number.
255 The script has terminated because it received SIGINT or SIGTERM.

COMPATIBILITY

The script has been tested on FreeBSD 7.2-PRERELEASE.

SEE ALSO

bsdadminscripts(1), pkg_info(1), ldd(1), readelf(1)

HISTORY

The pkg_libchk script first appeared in the bsdadminscripts-4.0 collection.

AUTHOR

Dominic Fandrey <kamikaze@bsdforen.de>
Search for    or go to Top of page |  Section 1 |  Main Index


Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.