RANLIB(1)
π RANLIB(1) π
okay bestie, welcome to the GNU Development Tools section of the manual, and today's main character is ranlib π
she's a little one, but she's so important, iykyk.
β¨ NAME β¨
ranlib β generate an index to an archive ποΈβ¨
πΈ SYNOPSIS πΈ
ranlib [--plugin name] [-DhHvVt] archive
π¦ DESCRIPTION π¦
so, what does she actually do? ranlib generates an index to the contents of an archive and stores it in the archive. periodt. π
that index lists each symbol defined by a member of an archive that is a relocatable object file.
want to peek at it? you totally can β use nm -s or nm --print-armap to list this index. no cap, go look π
an archive with such an index speeds up linking to the library and allows routines in the library to call each other without regard to their placement in the archive. it's giving β¨organizedβ¨
and here's the tea: the GNU ranlib program is another form of GNU ar; running ranlib is completely equivalent to executing ar -s. literally the same thing, just a different name π«Ά
π OPTIONS π
-h,-H,--helpβ show usage information forranlib. classic. she tells you how to use her πββοΈ-v,-V,--versionβ show the version number ofranlib. flex the version, bestie π₯-Dβ operate in deterministic mode. the symbol map archive member's header will show zero for theUID,GID, and timestamp. when this option is used, multiple runs will produce identical output files. so consistent, so iconic β- if binutils was configured with
--enable-deterministic-archives, then this mode is on by default. it can be disabled with the-Uoption, described below π
- if binutils was configured with
-tβ update the timestamp of the symbol map of an archive. just the timestamp, nothing else π-Uβ do not operate in deterministic mode. this is the inverse of the-Doption, above: the archive index will get actualUID,GID, timestamp, and file mode values. she's being real now π―- if binutils was configured without
--enable-deterministic-archives, then this mode is on by default.
- if binutils was configured without
@fileβ read command-line options from file. the options read are inserted in place of the original@fileoption. if file does not exist, or cannot be read, then the option will be treated literally, and not removed. π- options in file are separated by whitespace. a whitespace character may be included in an option by surrounding the entire option in either single or double quotes. any character (including a backslash) may be included by prefixing the character to be included with a backslash. the file may itself contain additional
@fileoptions; any such options will be processed recursively. it's giving inception π
- options in file are separated by whitespace. a whitespace character may be included in an option by surrounding the entire option in either single or double quotes. any character (including a backslash) may be included by prefixing the character to be included with a backslash. the file may itself contain additional
β οΈ heads up bestie: @file that can't be read doesn't error out β it just gets treated literally. don't get caught lacking.
π SEE ALSO π
π COPYRIGHT π
Copyright (c) 1991-2025 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
okay that's the whole page, you ate that π this little cutie is binutils-2.45.50, dated 2026-01-13, and she's filed under RANLIB(1). go forth and index ur archives, mwah ππ§β¨
π¦ where this page comes from
- ubuntu resolute: binutils-m68hc1x 1:2.45.50.20251209+3.5.3build1 Β· GPL-3.0-or-later
- ubuntu stonking: binutils-m68hc1x 1:2.45.50.20251209+3.5.3build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms