check-lib-depends(1)

check-lib-depends1

Scan port for shared libraries

Usage

check-lib-depends [-fimqx] [-B destdir] [-d pkgrepo] [-D directory] [-F missing] [-O dest] [-S VAR=value] [-s source] [package ...]

Overview

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 actual WANTLIB 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}’ in WANTLIB 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.

Releases

18 releases since OpenBSD 6.4; the text changed 4 times.

  1. 6.4
  2. 6.5–6.6
  3. 6.7–6.9
  4. 7.0–7.5
  5. 7.6–8.0

-o until OpenBSD 6.9.

Bugs

Currently, check-lib-depends doesn't handle libraries living in subdirectories of ‘${LOCALBASE}’ correctly.

From man 8.0-current-20261101 in OpenBSD 8.0-current (2026-11-01). Parsed by carta from the page's mdoc source.