# Install binutils with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, zypper

GNU binary tools for native development. Version 2.46.1 via Homebrew; verified 2026-06-19.

## Install

```sh
sudo av install brew:binutils
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install binutils
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install binutils
```

  Evidence: MacPorts ports tree: devel/binutils/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add binutils
```

  Evidence: Alpine Linux edge package indexes: binutils from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install binutils
```

  Evidence: Debian stable package indexes: binutils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install binutils
```

  Evidence: Fedora Rawhide package metadata: binutils from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#binutils
```

  Evidence: nixpkgs package indexes: binutils from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S binutils
```

  Evidence: Arch Linux sync databases: binutils from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz

- zypper (92%):

```sh
sudo zypper install binutils
```

  Evidence: openSUSE Tumbleweed package metadata: binutils from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/binutils
```

  Evidence: Scoop official bucket manifest trees: bucket/binutils.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:binutils
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/binutils>
- **Version:** 2.46.1
- **Source summary:** GNU binary tools for native development
- **Homepage:** <https://www.gnu.org/software/binutils/binutils.html>
- **Repository:** <https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git>
- **Upstream docs:** <https://sourceware.org/binutils/docs>
- **License:** GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-3.0-only
- **Source archive:** <https://ftpmirror.gnu.org/gnu/binutils/binutils-2.46.1.tar.bz2>
- **Last updated:** 2026-06-19T20:13:12-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- addr2line (cli)
- ar (cli)
- as (cli)
- c++filt (cli)
- coffdump (cli)
- dlltool (cli)
- dllwrap (cli)
- elfedit (cli)
- gp-archive (cli)
- gp-collect-app (cli)
- gp-display-html (cli)
- gp-display-src (cli)
- gp-display-text (cli)
- gprof (cli)
- gprofng (cli)
- gprofng-archive (cli)
- gprofng-collect-app (cli)
- gprofng-display-html (cli)
- gprofng-display-src (cli)
- gprofng-display-text (cli)
- gprofng-gmon (cli)
- ld (cli)
- ld.bfd (cli)
- nm (cli)
- objcopy (cli)
- objdump (cli)
- ranlib (cli)
- readelf (cli)
- size (cli)
- srconv (cli)
- strings (cli)
- strip (cli)
- sysdump (cli)
- windmc (cli)
- windres (cli)
- addr2line (alias)
- ar (alias)
- as (alias)
- c++filt (alias)
- coffdump (alias)
- dlltool (alias)
- dllwrap (alias)
- elfedit (alias)
- gp-archive (alias)
- gp-collect-app (alias)
- gp-display-html (alias)
- gp-display-src (alias)
- gp-display-text (alias)
- gprof (alias)
- gprofng (alias)
- gprofng-archive (alias)
- gprofng-collect-app (alias)
- gprofng-display-html (alias)
- gprofng-display-src (alias)
- gprofng-display-text (alias)
- gprofng-gmon (alias)
- ld (alias)
- ld.bfd (alias)
- nm (alias)
- objcopy (alias)
- objdump (alias)
- ranlib (alias)
- readelf (alias)
- size (alias)
- srconv (alias)
- strings (alias)
- strip (alias)
- sysdump (alias)
- windmc (alias)
- windres (alias)

## Dependencies

- zstd

## Build dependencies

- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.46.1
- Package-manager updated: 2026-06-19
- Local data: ok
- Upstream repository: https://www.gnu.org/software/binutils/binutils.html
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

GNU Binutils is the GNU project's collection of binary-file and toolchain utilities, including the GNU assembler, linker, objdump, readelf, nm, ar, ranlib, strip, strings, and supporting libraries such as BFD and opcodes.

### Project history

The official GNU page frames Binutils as the binary-tool collection that gives GNU and GNU/Linux systems the facility to compile and link programs. Its main programs are ld, as, and gold, with many companion tools for archives, symbol tables, disassembly, ELF inspection, profiling, resource files, and object-file conversion.

Most Binutils programs share BFD, the Binary File Descriptor library, for low-level manipulation across object-file formats, and many also use libopcodes for assembly and disassembly. This shared backend is why the package can support many CPU architectures and object formats from one source tree.

Development is hosted in the Sourceware binutils-gdb.git repository. The Sourceware page documents anonymous git access, a gitweb interface, snapshots after every commit, release branches named binutils-M_NN-branch, and release tags named binutils-M_NN.

### Adoption history

Binutils is not merely widely packaged; it is part of the base build vocabulary of Unix-like systems. The supplied package facts list packages across Alpine, Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Scoop, Ubuntu, and openSUSE, which matches the project's own statement that it has been ported to most major Unix variants as well as Wintel systems.

Its tools are embedded into compiler, linker, debugger, distribution, embedded, and cross-compilation workflows. Even systems that use LLVM tools often keep GNU Binutils available because build scripts, configure checks, firmware recipes, and package tests call names such as ar, ranlib, objcopy, objdump, readelf, strings, strip, and ld.

### How it is used

Daily use spans the whole package lifecycle: assemblers turn source into objects, linkers produce executables and shared libraries, ar and ranlib maintain static archives, strip removes symbols, strings extracts printable data, readelf and objdump inspect binaries, nm lists symbols, and objcopy converts or rewrites object files.

Packagers and toolchain maintainers care about target triples, emulations, linker scripts, relocation formats, debug sections, archive indexes, reproducible output, and cross builds. The official NEWS files show continuing work on RISC-V, AArch64, x86, LoongArch, SFrame, libsframe, readelf, objdump, gas, and ld.

### Why package nerds care

GNU Binutils is one of the packages that makes other packages possible. A broken binutils update can affect builds across an entire distribution, while a new architecture port or linker feature can unblock thousands of downstream packages.

It is also a Rosetta Stone for binary formats. Package maintainers use it to answer questions like what symbols a library exports, whether an ELF object has the expected relocations, why a link failed, whether debug info survived stripping, or whether an archive index is stale.

The package is historically important because it concentrates assembler, linker, object-copying, symbol, disassembly, profiling, and archive tools into one release stream. That creates both power and risk: one source release carries support for many architectures, formats, and old build assumptions.

### Timeline

- 1999: Sourceware page notes older gas2 and bfd lists were superseded by current Binutils discussion lists around May 1999.
- 2024: Binutils 2.43 and 2.44 releases continue ELF, RISC-V, LoongArch, SFrame, and linker feature work.
- 2025: Binutils 2.45 release adds further SFrame, RISC-V, linker, readelf, and assembler changes.
- 2026: Binutils 2.46 documentation is current, and the GNU page lists 2.46.1 as the latest release.

### Related projects

- Binutils shares the Sourceware binutils-gdb.git repository with GDB. It is closely tied to GCC and GNU/Linux system building, and it overlaps in user-facing tasks with LLVM tools such as llvm-ar, llvm-objdump, llvm-readelf, llvm-nm, lld, and clang's integrated assembler.

### Sources

- Binutils, gas, and ld NEWS files document continuing architecture, SFrame, readelf, objdump, assembler, and linker changes.
- GNU Binutils official page documents tool list, BFD/opcodes, portability, release process, git access, and purpose in GNU/GNU-Linux systems.
- Sourceware docs page identifies current Binutils 2.46 documentation.
- Sourceware gitweb summary identifies binutils-gdb.git and official repository URLs.
- input.source_facts.package-manager lists cross-distro/package-manager availability.


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** binutils
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** yes
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - binutils - 2.44-3: normalized package name match | Debian stable package indexes: binutils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU assembler, linker and binary utilities | https://www.gnu.org/software/binutils/
- Debian apt - binutils-aarch64-linux-gnu - 2.44-3: normalized package name match | Debian stable package indexes: binutils-aarch64-linux-gnu from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities, for aarch64-linux-gnu target | https://www.gnu.org/software/binutils/
- Debian apt - binutils-aarch64-linux-gnu-dbg - 2.44-3: normalized package name match | Debian stable package indexes: binutils-aarch64-linux-gnu-dbg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities, for aarch64-linux-gnu target (debug symbols) | https://www.gnu.org/software/binutils/
- Debian apt - binutils-alpha-linux-gnu - 2.44-3: normalized package name match | Debian stable package indexes: binutils-alpha-linux-gnu from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities, for alpha-linux-gnu target | https://www.gnu.org/software/binutils/
- Debian apt - binutils-alpha-linux-gnu-dbg - 2.44-3: normalized package name match | Debian stable package indexes: binutils-alpha-linux-gnu-dbg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities, for alpha-linux-gnu target (debug symbols) | https://www.gnu.org/software/binutils/
- Debian apt - binutils-arc-linux-gnu - 2.44-3: normalized package name match | Debian stable package indexes: binutils-arc-linux-gnu from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities, for arc-linux-gnu target | https://www.gnu.org/software/binutils/
- Debian apt - binutils-arc-linux-gnu-dbg - 2.44-3: normalized package name match | Debian stable package indexes: binutils-arc-linux-gnu-dbg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities, for arc-linux-gnu target (debug symbols) | https://www.gnu.org/software/binutils/
- Debian apt - binutils-arm-linux-gnueabi - 2.44-3: normalized package name match | Debian stable package indexes: binutils-arm-linux-gnueabi from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities, for arm-linux-gnueabi target | https://www.gnu.org/software/binutils/
- Debian apt - binutils-arm-linux-gnueabi-dbg - 2.44-3: normalized package name match | Debian stable package indexes: binutils-arm-linux-gnueabi-dbg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities, for arm-linux-gnueabi target (debug symbols) | https://www.gnu.org/software/binutils/
- Debian apt - binutils-arm-linux-gnueabihf - 2.44-3: normalized package name match | Debian stable package indexes: binutils-arm-linux-gnueabihf from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities, for arm-linux-gnueabihf target | https://www.gnu.org/software/binutils/
- Debian apt - binutils-arm-linux-gnueabihf-dbg - 2.44-3: normalized package name match | Debian stable package indexes: binutils-arm-linux-gnueabihf-dbg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities, for arm-linux-gnueabihf target (debug symbols) | https://www.gnu.org/software/binutils/
- Debian apt - binutils-common - 2.44-3: normalized package name match | Debian stable package indexes: binutils-common from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Common files for the GNU assembler, linker and binary utilities | https://www.gnu.org/software/binutils/
- Debian apt - binutils-dbg - 2.44-3: normalized package name match | Debian stable package indexes: binutils-dbg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU assembler, linker and binary utilities(debug symbols) | https://www.gnu.org/software/binutils/
- Debian apt - binutils-dev - 2.44-3: normalized package name match | Debian stable package indexes: binutils-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU binary utilities (BFD development files) | https://www.gnu.org/software/binutils/
- Debian apt - binutils-doc - 2.44-3: normalized package name match | Debian stable package indexes: binutils-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Documentation for the GNU assembler, linker and binary utilities | https://www.gnu.org/software/binutils/
- Debian apt - binutils-for-build - 2.44-3: normalized package name match | Debian stable package indexes: binutils-for-build from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU assembler, linker and binary utilities for the build architecture | https://www.gnu.org/software/binutils/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [zstd](https://www.automicvault.com/pkg/brew/zstd/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [crosstool-ng](https://www.automicvault.com/pkg/brew/crosstool-ng/) - Popular package that depends on this formula.
- [pkgdiff](https://www.automicvault.com/pkg/brew/pkgdiff/) - Popular package that depends on this formula.
- [arm-linux-gnueabihf-binutils](https://www.automicvault.com/pkg/brew/arm-linux-gnueabihf-binutils/) - Shares the same upstream homepage.
- [x86_64-linux-gnu-binutils](https://www.automicvault.com/pkg/brew/x86-64-linux-gnu-binutils/) - Shares the same upstream homepage.
- [i686-elf-binutils](https://www.automicvault.com/pkg/brew/i686-elf-binutils/) - Shares av.db curated category or tags: assembler, binary-tools, cli, developer-tools, linker.
- [m68k-elf-binutils](https://www.automicvault.com/pkg/brew/m68k-elf-binutils/) - Shares av.db curated category or tags: assembler, binary-tools, cli, developer-tools, linker.
- [cargo-binutils](https://www.automicvault.com/pkg/brew/cargo-binutils/) - Shares av.db curated category or tags: binary-tools, cli, developer-tools.
- [ldid](https://www.automicvault.com/pkg/brew/ldid/) - Shares av.db curated category or tags: binary-tools, cli, developer-tools.
- [objconv](https://www.automicvault.com/pkg/brew/objconv/) - Shares av.db curated category or tags: binary-tools, cli, developer-tools.
- [poke](https://www.automicvault.com/pkg/brew/poke/) - Shares av.db curated category or tags: binary-tools, cli, developer-tools, gnu.
- [aarch64-elf-binutils](https://www.automicvault.com/pkg/brew/aarch64-elf-binutils/) - Shares av.db curated category or tags: assembler, cli, developer-tools, linker.

## Combined YAML source

View the package source record on GitHub. [combined/binutils.yml](https://github.com/automic-vault/db/blob/main/combined/binutils.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
