|Check all packages. This is the default action in case no packages have been specified.|
|Create clean output without status messages.|
|Displays the available options.|
|Specify the amount of parallel jobs the script will attempt run. The default is two jobs per CPU core.|
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%.
|This deactivates detecting compat libraries in %%PREFIX%%/lib/compat as missing libraries.|
|Instead of the package name the package origin is printed.|
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.
|Also check packages the given packages depend on.|
|Also check the packages depending on the given packages.|
Be verbose about missing dependencies. Instead of rejecting indirect
dependencies or false positives it will print why they would have been
This option cannot be combined with raw output.
|Packages are package names or shell patterns matching these.|
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
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.
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-\*
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.
The script has been tested on FreeBSD 7.2-PRERELEASE.
bsdadminscripts(1), pkg_info(1), ldd(1), readelf(1)
The pkg_libchk script first appeared in the bsdadminscripts-4.0 collection.
Dominic Fandrey <email@example.com>