ELFDEPS(1)
β¨ ELFDEPS π
okay bestie, you found the elfdeps page in the General Commands Manual section and I am SO ready to walk you through it π«Ά this one's a dependency generator for ELF binaries, and honestly? it's giving quiet-overachiever. let's go π
β¨ NAME β¨
elfdeps β Dependency generator for ELF binaries π
πΈ SYNOPSIS πΈ
elfdeps <operation> [options]
elfdeps <operation> [options] [FILE] ...
π¦ DESCRIPTION π¦
So elfdeps is a dependency generator for ELF executables and dynamic shared object (DSO) files. The filenames can come in on the standard input (that's the case when it's used as a generator, iykyk), or as command line arguments for testing convenience. ngl the second one is just for vibes when you're poking at it.
What it actually does: elfdeps encodes info stored in ELF files into a format that works for RPM dependencies. The main interest areas are DT_SONAME, the DT_NEEDED fields of the SHT_DYNAMIC section, and the symbol versioning information living in the SHT_GNU_verdef and SHT_GNU_verneed sections. literally the whole lore lives in there π
Bestie, real talk: elfdeps is not normally invoked directly. But doing it anyway is highkey useful for troubleshooting dependency generation and for developing new dependency generators, so it's not forbidden, it's just main character energy on a side quest. The installation directory of elfdeps can be determined with:
rpm -E "%{_rpmconfigdir}"
This man page describes the options specific to this generator. For the overall mechanism era, see rpm-dependency-generators(7). π
π OPERATIONS π
-P,--provides, β Print the provides dependencies. π-R,--requiresβ Print the requires dependencies. π₯
π ARGUMENTS π
FILEβ An ELF file. Other file types are silently ignored. not a single word, not even a peep π
π OPTIONS π
--no-fake-sonameβ Do not emit a fake soname for DSOs that don't setDT_SONAME. By default,elfdepsgenerates a soname from the filename for DSOs that don't have one. Only effective when printing provides dependencies.--no-filter-sonameβ Do not filter sonames. By default,elfdepsdoes some sanity checking to filter out redundant and/or invalid soname entries. Only effective when printing provides dependencies.-m,--multifileβ Use multifile protocol for output. Seerpm-dependency-generators(7).--require-interpβ Emit a requires dependency for the ELF interpreter (PT_INTERP), if there is one. Only effective when printing requires dependencies.--soname-onlyβ Emit only the soname (DT_SONAME) of a DSO, omitting any symbol versioning information. Only effective when printing provides dependencies.
π OUTPUT π
See Protocols in rpm-dependency-generators(7). By default, singlefile protocol is used, but the multifile protocol can be enabled with the --multifile option. two protocols, one girl, pick your fighter β¨
β EXIT STATUS β
On success, 0 is returned, a non-zero failure code otherwise. periodt. π
π₯ EXAMPLES π₯
Slay, here's how you'd actually use it:
elfdeps --requires /bin/lsPrint ELF-level requires dependencies of the/bin/lsexecutable.find mylib-1.0-build/BUILDROOT --name "*.so*" | elfdeps -P --multifilePrint ELF-level provides dependencies of all shared libraries inside themylib-1.0-build/BUILDROOTdirectory, using the multifile generator protocol.
π SEE ALSO π
rpmbuild(1) rpm-dependency-generators(7) elf(5) readelf(1)
ngl bestie if you read all the way here you're genuinely iconic π go generate some dependencies, you got this π§
and that's a wrap! this page ships with RPM 6.1.0, dated 2026-08-20 β so if you're quoting it in the group chat, that's the receipt πβ¨
π¦ where this page comes from
- ubuntu stonking: rpm 6.1.0-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms