This manual page is for Mac OS X version 10.6.3

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



KEXTLIBS(8)                              BSD System Manager's Manual                             KEXTLIBS(8)

NAME
     kextlibs -- find OSBundleLibraries needed by a kext

SYNOPSIS
     kextlibs [options] [--] kext ...

DESCRIPTION
     The kextlibs utility searches for library kexts that define symbols needed for linking by kext, print-ing printing
     ing their bundle identifiers and versions to stdout.  If the kext has a multiple-architecture exe-cutable, executable,
     cutable, 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 prop-erty. property.
     erty.

     You can use kextlibs to find libraries for older releases of Mac OS X using the -repository option to
     specify an extensions folder to search other than the system extensions folder for the root volume
     (although releases prior to Mac OS X 10.6 (Snow Leopard) don't check for architecture-specific proper-ties, properties,
     ties, 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 extensions folder.

OPTIONS
     -h, -help
              Print a help message describing each option flag and exit with a success result, regardless of
              any other options on the command line.

     -all-symbols
              Print reports on all symbols that remain undefined, all symbols that have been resolved in one
              library kext each, and all symbols that have multiple definitions in different library kexts.
              Equivalent to specifying all of -undef-symbols, -onedef-symbols, and -multdef-symbols.  Nor-mally Normally
              mally only the number of missing and duplicate symbols is printed.

     -c, -compatible-versions
              Print the compatible version rather than the current version.

     -multdef-symbols
              Print all undefined symbols from kext found in more than one library kext, followed by those
              library kexts' bundle identifiers and versions (or compatible versions if -compatible-versions
              was specified).  Normally only the number of multiply-defined symbols is printed.

     -non-kpi
              Search the compatibility kext, com.apple.kernel.6.0, rather than any of the com.apple.kpi.*
              system kexts.  Use of this option is not recommended: The exact kernel component (mach, bsd,
              libkern, or iokit) cannot be determined, and the compatible version of com.apple.kernel is
              locked to its current version, so kexts linking against it can only load against that exact
              version.

     -onedef-symbols
              Print all undefined symbols from kext found in exactly one library kext, followed by that
              library kext's bundle identifier and version (or compatible version if -compatible-versions
              was specified).  Normally nothing is printed about symbols that are found once.

     -r directory, -repository directory
              Search directory for dependencies.  This option may be specified multiple times.  You can use
              this to get library declarations relative to a set of extensions other than those of the run-ning running
              ning system (such as for a different release of Mac OS X), or to include a side directory of
              library kexts.  Note: If you specify a directory with this option, the system extensions fold-ers folders
              ers are not implicitly searched.  See -system-extensions.

     -e, -system-extensions
              Add the system extensions folders to the list of directories to search.  If you don't specify
              any directories or kexts, this is used by default.

     -undef-symbols
              Print all undefined symbols from kext that can't be found in any library kexts.  Normally only
              the number of symbols not found is printed.

     -unsupported
              Search unsupported library kexts for symbols (by default they are not searched).

     -v [0-6 | 0x####], -verbose [0-6 | 0x####]
              Verbose mode; print information about program operation.  Higher levels of verbosity include
              all lower levels.  You can specify a level from 0-6, or a hexadecimal log specification (as
              described in kext_logging(8)). For kextlibs, the decimal levels 1-6 generally have little
              effect.

     -xml     Print an XML fragment to stdout suitable for copying and pasting directly into an Info.plist
              file.  This option prints information about libraries to stdout, and then prints information
              about symbols to stderr. In XML mode, if the libraries for all architectures are the same,
              only one set of OSBundleLibraries is printed; if any differ from any others, architecture-spe-cific architecture-specific
              cific listings for all architectures are printed (OSBundleLibraries_i386, OSBundleLi-braries_x86_64, OSBundleLibraries_x86_64,
              braries_x86_64, and so on).

     --       End of options.

FILES
     /System/Library/Extensions/  The standard system repository of kernel extensions.

DIAGNOSTICS
     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.

BUGS
     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 Mac OS X 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.

SEE ALSO
     kextutil(8), kextfind(8), kext_logging(8)

Darwin                                          March 6, 2009                                         Darwin

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...