CHECK-LIB-DEPENDS(1)

πŸ“¦ in nixpkgs unstable

πŸ’… check-lib-depends(1) β€” the group-chat guide

okay so bestie, welcome to check-lib-depends, from the General Commands Manual section. she's the one who checks that every shared library your port or package needs is actually, like, recorded properly. no cap. ✨


🌸 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 a package for shared libraries and verifies that all of them are properly recorded. literally all of them. it's giving responsible.

she can either scan files from a built port after the fake stage from the WRKINST directory, or look directly inside a package.

likewise (iconic word), she can also verify dependencies of installed packages, or figure them out directly from the port directory. versatile queen πŸ‘‘

check-lib-depends actually consists of two distinct stages, and honestly the way she splits it up? main character energy:

  • 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, bestie β€” every single one, no skipping:

  • -B destdir β€” scan files under destdir. like, go look over there instead.
  • -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). detective mode πŸ•΅οΈβ€β™€οΈ
  • -f β€” give full reports of every file that requires a missing library. full receipts, not just a summary.
  • -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. iykyk.
  • -i β€” read packing-list from standard input. stdin girlie πŸ’Œ
  • -m β€” always show progress-meter, even if not run from terminal. she's showing up regardless.
  • -O dest β€” save result of first stage in file dest. stash it for later πŸŽ€
  • -q β€” be quiet, do not emit β€˜Extra:’ wantlibs unless there's also an actual problem. no unnecessary noise, periodt.
  • -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. trust the file, bestie.
  • -x β€” don't show progress-meter, even if run from terminal. hidden mode πŸ™ˆ

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. simple as that πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

ldd(1), objdump(1), bsd.port.mk(5), elf(5)

πŸ’€ BUGS πŸ’€

currently, check-lib-depends doesn't handle libraries living in subdirectories of β€˜${LOCALBASE}’ correctly. yeah. that's the bug. we know. 😭


bestie heads up: that subdirectory thing is a real known limitation, not a vibe β€” don't come for her, she's working on it 🧚

okay that's the whole page!! this was the check-lib-depends(1) manual page, Debian edition, dated May 24, 2024 β€” mwah, slay, go record your libraries properly πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from
  • nixpkgs unstable: cvs-export
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms