# Install gsl with Homebrew

Numerical library for C and C++. Version 2.8 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:gsl
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gsl
```

  Evidence: provider-native install command

## Package facts

- **Package key:** brew:gsl
- **Package manager:** Homebrew
- **Version:** 2.8
- **Source summary:** Numerical library for C and C++
- **Homepage:** <https://www.gnu.org/software/gsl/>
- **Generated:** 2026-08-03T00:40:33+00:00

## Executables

- gsl-config (alias)
- gsl-histogram (alias)
- gsl-randist (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.8
## Project history and usage

The GNU Scientific Library, usually abbreviated GSL, is a numerical library for C and C++ programmers. It supplies routines for numerical computing across random numbers, special functions, vectors and matrices, BLAS support, FFTs, eigensystems, statistics, interpolation, optimization, ordinary differential equations, sparse linear algebra, and other scientific-computing areas.

GSL is part of the GNU Project and is distributed under the GNU GPL. Its package-manager role is not just to install a library but to provide a stable, broadly packaged numerical substrate for C programs and bindings in higher-level languages.

### Project history

The project was conceived in 1996 by M. Galassi and J. Theiler of Los Alamos National Laboratory. The GNU project page says they were joined by other physicists who believed existing library licenses hindered scientific cooperation.

GSL's design aimed to give C programmers a modern API while reimplementing reliable public-domain numerical packages such as FFTPACK and QUADPACK in C with modern coding conventions. That made it a bridge between classic numerical methods and free-software packaging practices.

Major design and implementation work was carried out by G. Jungman and B. Gough, with modules by J. Davies, R. Priedhorsky, M. Booth, F. Rossi, P. Alken, and other contributors. The project page also notes long-running Debian package maintenance by D. Eddelbuettel.

The release history shows a long beta period from 1996 through 2001, version 1.0 in November 2001, steady 1.x releases through 2013, and the 2.x line beginning in October 2015.

### Adoption history

GSL spread through both operating-system packages and language bindings. The GNU page says precompiled binary packages are included in most GNU/Linux distributions and that a compiled version is available through Cygwin on Windows.

The project page lists many extensions, wrappers, and applications around GSL, including bindings for Java, Perl, Common Lisp, Python, Ruby, R, S-Lang, OCaml, and C++ wrappers, plus scientific applications and textbooks that use the library.

This adoption pattern made GSL a familiar dependency in research tooling: one package gives distributions a consistent set of numerical routines, and language ecosystems can wrap the same tested C implementation rather than carrying separate implementations.

### How it is used

Developers link against GSL from C or C++ and include the relevant headers for the routine families they need. The package also provides small command-line utilities such as gsl-config, gsl-histogram, and gsl-randist for build integration and quick numerical tasks.

The official manual emphasizes example programs and references for each chapter. This reflects GSL's niche: it is not a monolithic numerical environment, but a library of callable routines that can be composed inside scientific applications.

### Why package nerds care

GSL matters to package people because it is a classic GNU library where licensing, ABI stability, scientific correctness, and distro availability all intersect. Its GPL status is a deliberate policy choice: the GNU page frames the license as supporting scientific cooperation and warns that redistributed programs using it need GPL-compatible terms.

It also has the kind of long release line package maintainers like to see: explicit release history, a stable API emphasis, a Savannah repository, mailing lists, a reference manual, and many downstream wrappers that depend on stable headers and library behavior.

### Timeline

- 1996: Project conceived and started at Los Alamos National Laboratory.
- 1996: Early 0.0, 0.1, and 0.2 releases appeared.
- 2001: First beta-test release 0.9 appeared in July.
- 2001: Version 1.0 was released in November.
- 2007: Version 1.9 was announced as a collection of well-tested C routines for numerical computing.
- 2013: Version 1.16 closed the long 1.x era.
- 2015: Version 2.0 began the 2.x line.
- 2024: Version 2.8 was released in May.

### Related projects

- FFTPACK and QUADPACK are public-domain numerical packages whose algorithms informed parts of GSL's C implementations.
- ATLAS is listed by the GSL page as a compatible tuned BLAS option for vector and matrix operations.
- GLPK, FFTW, and NLopt are listed by the GSL page as other useful free-software packages for scientific computing.
- Language wrappers such as R gsl, RcppGSL, PyGSL, Math::GSL, and Ruby/GSL show how the library became an implementation layer for higher-level ecosystems.

### Sources

- <https://git.savannah.gnu.org/cgit/gsl.git/plain/NEWS>
- <https://lists.gnu.org/archive/html/info-gnu/2007-02/msg00004.html>
- <https://www.gnu.org/software/gsl/>
- <https://www.gnu.org/software/gsl/doc/html/intro.html>


## Security Notes

library-like package without higher-risk signals.

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


## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
