KEXTLIBS(8) | System Manager's Manual | KEXTLIBS(8) |
kextlibs
— find
OSBundleLibraries needed by a kext
kextlibs |
[options] [-- ]
kext ... |
The kextlibs
utility has been deprecated.
Please use the kmutil(8) equivalent: kmutil libraries.
The kextlibs
utility searches for library
kexts that define symbols needed for linking by kext,
printing their bundle identifiers and versions to
stdout. If the kext has a multiple-architecture
executable, libraries are resolved for each architecture. If any symbols are
not found, or are found in multiple libraries, the numbers of such symbols
are printed to standard error after the library kext information for each
architecture.
A handy use of kextlibs
is to run it with
just the -xml
flag and pipe the output to
pbcopy(1); if the exit status is zero (indicating no
undefined or multiply-defined symbols), you can open your kext's
Info.plist file in a text editor and paste the
library declarations over the OSBundleLibraries property.
You can use kextlibs
to find libraries for
older releases of macOS using the -repository
option
to specify an extensions folder to search other than the extensions
directories for the root volume (although releases prior to Mac OS X 10.6
(Snow Leopard) don't check for architecture-specific properties, so be sure
to check the output and edit as needed). If you don't explicitly specify a
repository directory, kextlibs
searches the root
volume's /System/Library/Extensions and /Library/Extensions directories.
-h
,
-help
-all-symbols
-undef-symbols
,
-onedef-symbols
, and
-multdef-symbols
. Normally only the number of
missing and duplicate symbols is printed.-c
,
-compatible-versions
-multdef-symbols
-compatible-versions
was specified). Normally only
the number of multiply-defined symbols is printed.-non-kpi
-onedef-symbols
-compatible-versions
was specified). Normally
nothing is printed about symbols that are found once.-r
directory, -repository
directory-system-extensions
.-e
,
-system-extensions
-undef-symbols
-unsupported
-v
[0-6
|
0x####
],
-verbose
[0-6
|
0x####
]kextlibs
, the decimal levels 1-6 generally have
little effect.-xml
--
The kextlibs
utility exits with a status
of 0 on completion if all undefined symbols are found exactly once; with a
status of 1 if any undefined symbols remain, or with a status of 2 if any
symbols are found in more than one library kext (whether or not any
undefined symbols remain), and with another nonzero status on some other
problem.
kextlibs
uses a simple algorithm of string
matching to resolve symbols, and does not apply any of the patching that the
full link process does. This can cause it to fail when searching for symbols
in a kext built against an SDK for a prior release of macOS than the one on
which kextlibs
is being used. In such cases, you can
run kextlibs
against the Extensions folder of that
prior release using the -repository
option.
Many single-letter options are inconsistent in meaning with (or directly contradictory to) the same letter options in other kext tools.
kmutil(8), kernelmanagerd(8), kextutil(8), kextfind(8), kext_logging(8)
November 14, 2012 | Darwin |