RANLIB(1)

โœจ RANLIB(1) โ€” the glow-up edition โœจ

okay so bestie, you found the manual page for ranlib, from the GNU Development Tools corner of the binutils universe ๐Ÿ’– it's giving "tiny tool, huge main character energy" and honestly? iconic.


๐ŸŒธ NAME ๐ŸŒธ

ranlib โ€” generate an index to an archive


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

ranlib [--plugin name] [-DhHvVt] archive

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

ranlib generates an index to the contents of an archive and stores it in the archive, no cap. That index lists every symbol defined by a member of an archive that is a relocatable object file. Literally every one. She's thorough like that ๐Ÿ’…

You can peek at that index with nm -s or nm --print-armap โ€” go look, she won't be shy.

An archive with such an index speeds up linking to the library. It's the difference between walking into the party and knowing everybody vs. standing in the doorway like ๐Ÿง. Fast linking = slay linking.

Also, plot twist: the GNU ranlib program is another form of GNU ar. Running ranlib is completely equivalent to executing ar -s. Same energy, different name, both ate ๐Ÿ”ฅ


โœจ OPTIONS โœจ

  • -h, -H, --help โ€” Show usage information for ranlib. Your little "how do I even" button ๐Ÿซถ
  • -v, -V, --version โ€” Show the version number of ranlib. Vibe check: what era of binutils are we in?
  • -D โ€” Operate in deterministic mode. The symbol map archive member's header will show zero for the UID, GID, and timestamp. When this option is used, multiple runs will produce identical output files. Same input, same output, every single time โ€” consistent queen behavior ๐Ÿ‘‘
    • If binutils was configured with --enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, described below.
  • -t โ€” Update the timestamp of the symbol map of an archive. Just a lil timestamp refresh, a little "hey I'm still here" ๐Ÿ’–
  • -U โ€” Do not operate in deterministic mode. This is the inverse of the -D option, above: the archive index will get actual UID, GID, timestamp, and file mode values. So the archive is not anonymous anymore, she's showing her real self ๐ŸŒˆ
    • If binutils was configured without --enable-deterministic-archives, then this mode is on by default.
  • @file โ€” Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. (Yeah โ€” it just sits there like ๐Ÿง "guess I'm an option now")
    • 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 @file options; any such options will be processed recursively. Recursion?! She contains multitudes ๐Ÿ˜ญโœจ
heads up bestie: the synopsis also shows --plugin name โ€” it's part of the invocation, so don't be surprised when you see it in the usage line.

๐ŸŒˆ SEE ALSO ๐ŸŒˆ

ar(1), nm(1), and the Info entries for binutils. Go read them, they're the friend group ๐Ÿซถ


Copyright (c) 1991-2026 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".


and that's the whole page, bestie โ€” you're officially fluent in ranlib ๐Ÿ’… This was binutils-2.47, dated 2026-08-11, and yes, that's the RANLIB(1) manual, signed, sealed, and absolutely iconic. periodt. ๐ŸŽ€๐Ÿฆ‹๐Ÿ’–

๐Ÿ“ฆ where this page comes from
  • arch rolling: binutils 2.47-4 ยท GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-3.0-or-later AND GFDL-1.3 AND FSFAP
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms