# Install llvm@16 with Homebrew, MacPorts, apt, apk, chocolatey, dnf, Nix, pacman, scoop, winget, zypper

Next-gen compiler infrastructure. Version 16.0.6 via Homebrew; verified 2026-07-03.

## Install

```sh
sudo av install brew:llvm@16
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install llvm@16
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install llvm-16
```

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

### Linux

- Ubuntu apt (92%):

```sh
sudo apt install llvm-16
```

  Evidence: Ubuntu 24.04 LTS package indexes: llvm-16 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

- apk (92%):

```sh
sudo apk add llvm16
```

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

- Debian apt (92%):

```sh
sudo apt install llvm
```

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

- dnf (92%):

```sh
sudo dnf install clang
```

  Evidence: Fedora Rawhide package metadata: clang 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#llvm
```

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

- pacman (92%):

```sh
sudo pacman -S llvm
```

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

- zypper (92%):

```sh
sudo zypper install clang
```

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

### Windows

- Chocolatey (92%):

```sh
choco install llvm
```

  Evidence: Chocolatey community package catalog: llvm from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','librespeed-cli'

- Scoop (92%):

```sh
scoop install main/llvm
```

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

- winget (92%):

```sh
winget install --id LLVM.LLVM -e
```

  Evidence: Windows Package Manager source index: LLVM.LLVM from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:llvm@16
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/llvm@16>
- **Version:** 16.0.6
- **Source summary:** Next-gen compiler infrastructure
- **Homepage:** <https://llvm.org/>
- **Repository:** <https://github.com/llvm/llvm-project>
- **Upstream docs:** <https://llvm.org/docs>
- **License:** Apache-2.0 WITH LLVM-exception
- **Source archive:** <https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/llvm-project-16.0.6.src.tar.xz>
- **Last updated:** 2026-07-03T15:55:47-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- clang-16 (cli)
- clang-16 (alias)

## Dependencies

- python@3.12
- xz
- zstd

## Build dependencies

- cmake
- ninja
- swig

## Uses from macOS

- libedit
- libffi
- ncurses

## Install behavior

- Post-install hook: not defined
- Caveats: To use the bundled libc++ please add the following LDFLAGS: LDFLAGS="-L$HOMEBREW_PREFIX/opt/llvm@16/lib/c++ -Wl,-rpath,$HOMEBREW_PREFIX/opt/llvm@16/lib/c++"
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sequoia, sonoma, tahoe, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 16.0.6
- Package-manager updated: 2026-07-03
- Local data: ok
- Upstream repository: https://github.com/llvm/llvm-project
- info: No cached GitHub release or tag data was available.
## Project history and usage

llvm@16 is Homebrew's versioned formula for the LLVM 16 release line, preserving the 16.x compiler, debugger, linker, and LLVM library stack for projects that need that major version.

### Project history

LLVM 16 continued the LLVM project's role as a modular infrastructure for compiler frontends, optimizers, code generators, debuggers, linkers, and development tools. The official 16.0.0 documentation and release notes cover the coordinated release of LLVM core and its subprojects.

In the opaque-pointer migration, LLVM 16 tightened the transition: the official documentation says opaque pointers were enabled by default and typed pointers were supported only on a best-effort basis and not tested. That made LLVM 16 a late migration release for projects still carrying typed-pointer assumptions.

### Adoption history

Package managers carried llvm@16 and llvm-16 style packages because many consumers need the new compiler and toolchain improvements without immediately accepting the next major release's removals. The input metadata shows mappings across Homebrew, MacPorts, Debian/Ubuntu, Alpine, Fedora-style clang packages, Nix, Arch-related clang packages, Scoop, winget clangd, and openSUSE.

For downstream maintainers, LLVM 16 was often a practical target for modernizing APIs while still having more compatibility surface than LLVM 17. That is why a versioned formula has value even after the unversioned llvm package moves on.

### How it is used

Users install llvm@16 for clang-16, LLVM 16 headers and libraries, llvm-config, FileCheck, LLDB/LLD tools where included, MLIR tools, clangd, clang-format, clang-tidy, and the large suite of LLVM object-file and IR utilities.

It is commonly used as a pinned build dependency for language runtimes, compiler plugins, static-analysis tools, and projects whose test suites are validated against LLVM 16 behavior.

### Why package nerds care

llvm@16 is significant as the last broad compatibility step before LLVM 17 removed typed-pointer support. In package-maintainer terms, it is a pressure-release valve: new enough to expose migration work, old enough not to remove every escape hatch.

It also shows why compilers are packaged like platforms. A major LLVM version controls not just a compiler executable but a constellation of libraries, C++ APIs, generated tables, debugger behavior, and command-line tools consumed by other packages.

### Timeline

- 2000: LLVM begins as a University of Illinois compiler research project.
- 2023-03-17: LLVM 16.0.0 is published on GitHub.
- 2023-04-05: LLVM 16.0.1 is published.
- 2023: LLVM 16 keeps opaque pointers enabled by default and supports typed pointers only on a best-effort, untested basis.
- 2023-2024: Package managers keep llvm-16 packages for downstream projects not ready for LLVM 17 removals.

### Related projects

- LLVM 16 ships with Clang 16, LLDB 16, LLD 16, libc++, compiler-rt, MLIR, OpenMP, and related LLVM tools.
- It is closely related to llvm@15 as the prior opaque-pointer default release and llvm@17 as the release line that removed typed-pointer support.

### Sources

- <https://api.github.com/repos/llvm/llvm-project/releases>
- <https://llvm.org/>
- <https://llvm.org/docs/OpaquePointers.html>
- <https://releases.llvm.org/16.0.0/docs/>
- <https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for llvm@16. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

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

## Other Package-Manager Records

- Ubuntu apt - llvm-16 - 1:16.0.6-23ubuntu4: normalized package name match | Ubuntu 24.04 LTS package indexes: llvm-16 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Modular compiler and toolchain technologies | https://www.llvm.org/
- MacPorts - llvm-16: normalized package name match | MacPorts ports tree: lang/llvm-16/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Ubuntu apt - clang-16 - 1:16.0.6-23ubuntu4: installed executable or alias match | Ubuntu 24.04 LTS package indexes: clang-16 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | C, C++ and Objective-C compiler | https://www.llvm.org/
- apk - llvm16 - 16.0.6-r14: package manager index match | Alpine Linux edge package indexes: llvm16 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, version 16 | https://llvm.org/
- apk - llvm16-dev - 16.0.6-r14: package manager index match | Alpine Linux edge package indexes: llvm16-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, version 16 (development files) | https://llvm.org/
- apk - llvm16-libs - 16.0.6-r14: package manager index match | Alpine Linux edge package indexes: llvm16-libs from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | LLVM 16 runtime library | https://llvm.org/
- apk - llvm16-linker-tools - 16.0.6-r14: package manager index match | Alpine Linux edge package indexes: llvm16-linker-tools from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, version 16 (linker plugins) | https://llvm.org/
- apk - llvm16-static - 16.0.6-r14: package manager index match | Alpine Linux edge package indexes: llvm16-static from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | LLVM 16 static libraries | https://llvm.org/
- apk - llvm16-test-utils - 16.0.6-r14: package manager index match | Alpine Linux edge package indexes: llvm16-test-utils from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | LLVM 16 utilities for executing LLVM and Clang style test suites | https://llvm.org/
- apk - llvm16-test-utils-pyc - 16.0.6-r14: package manager index match | Alpine Linux edge package indexes: llvm16-test-utils-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for llvm16-test-utils | https://llvm.org/
- Debian apt - llvm - 1:19.0-63: versioned package alias match | Debian stable package indexes: llvm from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Modular compiler and toolchain technologies
- Nix - llvm: versioned package alias match | nixpkgs package indexes: llvm from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - llvm - 1:18.0-59~exp2: versioned package alias match | Ubuntu 24.04 LTS package indexes: llvm from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Low-Level Virtual Machine (LLVM)
- apk - llvm - 22-r0: versioned package alias match | Alpine Linux edge package indexes: llvm from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, default version. | https://llvm.org/
- apk - llvm-dev - 22-r0: versioned package alias match | Alpine Linux edge package indexes: llvm-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Low Level Virtual Machine compiler system, default version. | https://llvm.org/
- apk - llvm-gtest - 22-r0: versioned package alias match | Alpine Linux edge package indexes: llvm-gtest from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | LLVM default gtest static libraries | https://llvm.org/


## Related links

- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [python@3.12](https://www.automicvault.com/pkg/brew/python-3-12/) - Runtime dependency declared by Homebrew.
- [xz](https://www.automicvault.com/pkg/brew/xz/) - Runtime dependency declared by Homebrew.
- [zstd](https://www.automicvault.com/pkg/brew/zstd/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [ninja](https://www.automicvault.com/pkg/brew/ninja/) - Build dependency declared by Homebrew.
- [swig](https://www.automicvault.com/pkg/brew/swig/) - Build dependency declared by Homebrew.
- [klee](https://www.automicvault.com/pkg/brew/klee/) - Popular package that depends on this formula.
- [llvm](https://www.automicvault.com/pkg/brew/llvm/) - Package name indicates the same formula family.
- [llvm@14](https://www.automicvault.com/pkg/brew/llvm-14/) - Package name indicates the same formula family.
- [llvm@15](https://www.automicvault.com/pkg/brew/llvm-15/) - Package name indicates the same formula family.
- [llvm@17](https://www.automicvault.com/pkg/brew/llvm-17/) - Package name indicates the same formula family.
- [llvm@18](https://www.automicvault.com/pkg/brew/llvm-18/) - Package name indicates the same formula family.
- [llvm@19](https://www.automicvault.com/pkg/brew/llvm-19/) - Package name indicates the same formula family.
- [llvm@20](https://www.automicvault.com/pkg/brew/llvm-20/) - Package name indicates the same formula family.
- [clang-format](https://www.automicvault.com/pkg/brew/clang-format/) - Shares the same upstream source repository.
- [clang-format@11](https://www.automicvault.com/pkg/brew/clang-format-11/) - Shares the same upstream source repository.
- [flang](https://www.automicvault.com/pkg/brew/flang/) - Shares the same upstream source repository.
- [lld](https://www.automicvault.com/pkg/brew/lld/) - Shares the same upstream source repository.

## Combined YAML source

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


## Sources

- Nucleus package database
- package-page enrichment
- curated package history
- package version freshness
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
