# Install ocaml-findlib with Homebrew, apk, apt, dnf, MacPorts, pacman, zypper

OCaml library manager. Version 1.9.8 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:ocaml-findlib
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ocaml-findlib
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ocaml-findlib
```

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

### Linux

- apk (92%):

```sh
sudo apk add ocaml-findlib
```

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

- Debian apt (92%):

```sh
sudo apt install ocaml-findlib
```

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

- dnf (92%):

```sh
sudo dnf install ocaml-findlib
```

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

- pacman (92%):

```sh
sudo pacman -S ocaml-findlib
```

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

- zypper (92%):

```sh
sudo zypper install ocaml-findlib
```

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

## Package facts

- **Package key:** brew:ocaml-findlib
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ocaml-findlib>
- **Version:** 1.9.8
- **Source summary:** OCaml library manager
- **Homepage:** <http://projects.camlcity.org/projects/findlib.html>
- **Repository:** <https://github.com/ocaml/ocamlfind>
- **Upstream docs:** <http://projects.camlcity.org/projects/findlib.html>
- **License:** MIT
- **Source archive:** <https://github.com/ocaml/ocamlfind/archive/refs/tags/findlib-1.9.8.tar.gz>
- **Last updated:** 2026-06-22T14:05:39-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ocamlfind (cli)
- ocamlfind (alias)

## Dependencies

- ocaml

## 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: 1.9.8
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/ocaml/ocamlfind
- info: No cached GitHub release or tag data was available.
## Project history and usage

ocaml-findlib provides findlib and the ocamlfind command, the long-standing library discovery and compiler-driver layer for OCaml libraries. Its core idea is small but ecosystem-shaping: libraries install META files that describe versions, compiler options, archives, dependencies, and predicates, and ocamlfind turns those descriptions into compiler and linker flags.

### Project history

Findlib was created by Gerd Stolpmann and dates back to the Objective Caml era; the upstream README records copyright years beginning in 1999, and a Caml-list announcement records findlib 1.0 as a compatibility-preserving major release that required OCaml 3.07. The project page describes the package as a convention for storing libraries plus a META file format, with ocamlfind as the tool that interprets those files.

### Adoption history

Camlcity's project page describes Findlib as the de-facto standard for OCaml library management after years of development, with free OCaml software depending on it and distributions such as GODI and Debian ensuring libraries ship META files. opam later became the primary source-based package manager for OCaml, but ocamlfind remained the compatibility layer many build systems and packages use to locate installed libraries inside a switch.

### How it is used

Developers invoke ocamlfind as a wrapper around ocamlc, ocamlopt, ocamldep, and related tools, passing package selections such as -package and -linkpkg. Build systems use the same mechanism to query installed packages and translate package-level dependencies into the include paths, archives, C stubs, linker options, and runtime DLL paths expected by the compiler.

### Why package nerds care

Findlib matters because it separated OCaml library identity from ad hoc include paths. A package database of META files gave distro packagers, opam packages, and build tools a shared vocabulary before Dune became dominant, and many older OCaml packages still expose findlib names that differ from their opam package names.

### Timeline

- 1999: The upstream README's copyright range begins, placing Findlib's origin in the late Objective Caml period.
- 2004: The findlib 1.0 announcement described a large but backward-compatible release and added package subpackages.
- 2010s: Findlib became the de-facto OCaml library-management convention documented by Camlcity and used by distributions.
- 2025-02-05: opam published ocamlfind 1.9.8 with build-related fixes.

### Related projects

- opam manages source packages and compiler switches; findlib manages installed library discovery within those environments. Dune can generate and consume package metadata, but ocamlfind remains the historical bridge between installed OCaml libraries and compiler invocations.

### Sources

- <https://github.com/ocaml/ocamlfind>
- <https://github.com/ocaml/ocamlfind/blob/master/doc/README.xml>
- <https://groups.google.com/g/fa.caml/c/SB0v54-klb4>
- <https://man.archlinux.org/man/ocamlfind.1.en>
- <https://opam.ocaml.org/packages/ocamlfind/>
- <https://projects.camlcity.org/projects/findlib.html>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

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

## Other Package-Manager Records

- Debian apt - ocaml-findlib - 1.9.8-1+b1: normalized package name match | Debian stable package indexes: ocaml-findlib from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | management tool for OCaml libraries | http://projects.camlcity.org/projects/findlib.html
- Ubuntu apt - ocaml-findlib - 1.9.6-1build4: normalized package name match | Ubuntu 24.04 LTS package indexes: ocaml-findlib from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | management tool for OCaml libraries | http://projects.camlcity.org/projects/findlib.html
- apk - ocaml-findlib - 1.9.6-r7: normalized package name match | Alpine Linux edge package indexes: ocaml-findlib from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | OCaml package manager (library) | http://projects.camlcity.org/projects/findlib.html
- apk - ocaml-findlib-dev - 1.9.6-r7: normalized package name match | Alpine Linux edge package indexes: ocaml-findlib-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | OCaml package manager (development files) | http://projects.camlcity.org/projects/findlib.html
- apk - ocaml-findlib-doc - 1.9.6-r7: normalized package name match | Alpine Linux edge package indexes: ocaml-findlib-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | OCaml package manager (documentation) | http://projects.camlcity.org/projects/findlib.html
- apk - ocamlfind - 1.9.6-r7: normalized package name match | Alpine Linux edge package indexes: ocamlfind from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | OCaml package manager | http://projects.camlcity.org/projects/findlib.html
- dnf - ocaml-findlib - 1.9.8-8.fc45: normalized package name match | Fedora Rawhide package metadata: ocaml-findlib from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Objective CAML package manager and build helper | http://projects.camlcity.org/projects/findlib.html
- dnf - ocaml-findlib-devel - 1.9.8-8.fc45: normalized package name match | Fedora Rawhide package metadata: ocaml-findlib-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for ocaml-findlib | http://projects.camlcity.org/projects/findlib.html
- pacman - ocaml-findlib - 1.9.8-6: normalized package name match | Arch Linux sync databases: ocaml-findlib from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | OCaml package manager | http://projects.camlcity.org/projects/findlib.html
- zypper - ocaml-findlib - 1.9.5-1.15: normalized package name match | openSUSE Tumbleweed package metadata: ocaml-findlib from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Objective CAML package manager and build helper | https://github.com/ocaml/ocamlfind
- zypper - ocaml-findlib-devel - 1.9.5-1.15: normalized package name match | openSUSE Tumbleweed package metadata: ocaml-findlib-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for ocaml-findlib | https://github.com/ocaml/ocamlfind
- MacPorts - ocaml-findlib: normalized package name match | MacPorts ports tree: ocaml/ocaml-findlib/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [ocaml](https://www.automicvault.com/pkg/brew/ocaml/) - Runtime dependency declared by Homebrew.
- [rocq](https://www.automicvault.com/pkg/brew/rocq/) - Popular package that depends on this formula.
- [rocq-elpi](https://www.automicvault.com/pkg/brew/rocq-elpi/) - Popular package that depends on this formula.
- [cargo-binstall](https://www.automicvault.com/pkg/brew/cargo-binstall/) - Shares av.db curated category or tags: cli, developer-tools, package-management.
- [corral](https://www.automicvault.com/pkg/brew/corral/) - Shares av.db curated category or tags: cli, developer-tools, package-management.
- [eget](https://www.automicvault.com/pkg/brew/eget/) - Shares av.db curated category or tags: cli, developer-tools, package-management.
- [install-peerdeps](https://www.automicvault.com/pkg/brew/install-peerdeps/) - Shares av.db curated category or tags: cli, developer-tools, package-management.
- [libsolv](https://www.automicvault.com/pkg/brew/libsolv/) - Shares av.db curated category or tags: cli, developer-tools, package-management.
- [nrm](https://www.automicvault.com/pkg/brew/nrm/) - Shares av.db curated category or tags: cli, developer-tools, package-management.
- [ocicl](https://www.automicvault.com/pkg/brew/ocicl/) - Shares av.db curated category or tags: cli, developer-tools, package-management.
- [patch-package](https://www.automicvault.com/pkg/brew/patch-package/) - Shares av.db curated category or tags: cli, developer-tools, package-management.
- [omake](https://www.automicvault.com/pkg/brew/omake/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, ocaml.

## Combined YAML source

View the package source record on GitHub. [combined/ocaml-findlib.yml](https://github.com/automic-vault/db/blob/main/combined/ocaml-findlib.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
