RANLIB(1)

πŸ“¦
version 2.46.1 Β· 5 versions
, in fedora 44

✨ RANLIB(1) ✨

okay bestie, so this is ranlib, coming at you straight from the GNU Development Tools crew πŸ› οΈπŸ’– β€” and no cap, she's a little icon of the linker world. Pull up a chair, we're gonna make archives make sense 🫢


🌸 NAME 🌸

ranlib β€” generate an index to an archive πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

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

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea, bestie: ranlib generates an index to the contents of an archive and stores it in the archive. periodt. πŸ“šβœ¨

That index? It lists every single symbol that's defined by a member of the archive that is a relocatable object file. every. single. one. πŸ‘‘

You can peek at this index yourself with nm -s or nm --print-armap β€” go look, it's giving very much "backstage pass" 🎟️

An archive with such an index speeds up linking to the library, and it also lets routines in the library call each other without regard to their placement in the archive. lowkey magical, highkey essential 🌈

And the wild part β€” the GNU ranlib program is just another form of GNU ar. Running ranlib is completely equivalent to executing ar -s. literally the same girl, different outfit πŸ’€πŸ’…


✨ OPTIONS ✨

  • -h, -H, --help β€” Show usage information for ranlib. your lil "how do I even" button πŸ™ˆ
  • -v, -V, --version β€” Show the version number of ranlib. flex the number, bestie πŸ”’βœ¨
  • -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. it's giving consistency queen πŸ‘‘

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. so like, check your config, iykyk 🫢

  • -t β€” Update the timestamp of the symbol map of an archive. ⏰ just a lil touch-up
  • -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 real, so raw, so "who am i really" 😭

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. ngl she's forgiving like that πŸ’œ

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. it's giving nested group chats, and honestly? obsessed πŸŒ€βœ¨


🌈 SEE ALSO 🌈

ar(1), nm(1), and the Info entries for binutils. go read the family, bestie πŸ‘‘


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 πŸŽ€ this was binutils-2.46.1, dated 2026-09-07, and honestly? she ate. periodt. πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from
  • fedora 44: cross-binutils-common 2.46.1-1.fc44 Β· GPL-3.0-or-later AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND BSD-3-Clause AND GFDL-1.3-or-later AND GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.0-or-later
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms