NAME
check-lib-depends
—
scan port for shared
libraries
SYNOPSIS
check-lib-depends |
[-fimqx ] [-B
destdir] [-d
pkgrepo] [-D
directory] [-F
missing] [-O
dest] [-S
VAR=value]
[-s source]
[package ...] |
DESCRIPTION
check-lib-depends
scans a port or package
for shared libraries, and verify that all of them are properly recorded.
check-lib-depends
can either scan files
from a built port after the fake stage from the
WRKINST
directory, or look directly inside a
package.
Likewise, it can also verify dependencies of installed packages, or figure them out directly from the port directory.
check-lib-depends
actually consists of two
distinct stages:
- scan all binaries inside a package to extract libraries and rpaths, using objdump(1).
- compare those libraries against the port's registered dependencies and report problems.
The options are as follows:
-B
destdir- Scan files under destdir.
-d
pkgrepo- Look for all needed packages under directory pkgrepo.
-D
directory- Create debug log files under directory that show in more details the run of objdump(1).
-f
- Give full reports of every file that requires a missing library.
-F
missing- Works in tandem with
-S
. Allow backsubstituting even if the missing library is actually not part of the actualWANTLIB
of the package. Mostly used to waive the presence of pthread, a mandatory dependency of C++ libraries on some architectures. -i
- Read packing-list from standard input.
-m
- Always show progress-meter, even if not run from terminal.
-O
dest- Save result of first stage in file dest.
-q
- Be quiet, do not emit ‘Extra:’ wantlibs unless there's also an actual problem.
-S
var=value- recognize list of libraries listed in a variable, and replace said list
with variable value. For instance,
-S
COMPILER_LIBCXX=stdc++ will replace ‘stdc++’ with ‘${COMPILER_LIBCXX}’ inWANTLIB
lists for compatibility with both clang and gcc. Order matters. The first-S
option will be handled first. -s
src- Don't scan, directly read result of first stage from file src.
-x
- Don't show progress-meter, even if run from terminal.
If no package is given, and the
-i
option is used,
check-lib-depends
will retrieve the packing-list
from stdin, and scan the package according to other options.
SEE ALSO
BUGS
Currently, check-lib-depends
doesn't
handle libraries living in subdirectories of ‘${LOCALBASE}’
correctly.