scan port for shared libraries
scans a port or package for
shared libraries, and verify that all of them are properly recorded.
can either scan files from a
built port after the fake stage
directory, or look directly inside
Likewise, it can also verify dependencies off installed packages, or figure them
out directly from the port directory.
actually consists of two distinct
- scan all binaries inside a package to extract libraries
and rpaths, using
- compare those libraries against the port's registered
dependencies and report problems.
The options are as follows:
- Scan files under
- Look for all needed packages under directory
- Create debug log files under
directory that show in more details the
run of objdump(1).
- Give full reports of every file that requires a missing
- Works in tandem with -S. Allow
backsubstituting even if the missing
library is actually not part of the actual
WANTLIB of the package. Mostly used to
waive the presence of pthread, a
mandatory dependency of C++ libraries on some architectures.
- Read packing-list from standard input.
- Always show progress-meter, even if not run from
- Scan binaries using
ldd(1), which also works for
old a.out binaries, instead of
objdump(1), which only
works for elf(5) binaries.
- Save result of first stage in file
- Be quiet, do not emit ‘Extra:’ wantlibs
unless there's also an actual problem.
- recognize list of libraries listed in a variable, and
replace said list with variable value. For instance,
will replace ‘stdc++’ with
WANTLIB lists for compatibility with
both clang and gcc. Order matters. The first
-S option will be handled first.
- Don't scan, directly read result of first stage from file
- Don't show progress-meter, even if run from terminal.
If no package
is given, and the
option is used,
will retrieve the packing-list
from stdin, and scan the package according to other options.