Automic VaultAutomic Vault

brew

Install gsl with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

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

install

Additional install commands

macOS

Homebrewverified · 100%
brew install gsl

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install gsl

MacPorts ports tree · math/gsl/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add gsl

Alpine Linux edge package indexes · gsl · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install gsl-bin

Debian stable package indexes · gsl-bin · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install gsl

Fedora Rawhide package metadata · gsl · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#gsl

nixpkgs package indexes · pkgs/by-name/gs/gsl/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S gsl

Arch Linux sync databases · gsl · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install gsl

openSUSE Tumbleweed package metadata · gsl · source: download.opensuse.org

overview

Package summary

Numerical library for C and C++

Commands and aliases

  • gsl-config
  • gsl-histogram
  • gsl-randist

history

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.

security posture

Risk level: green

library-like package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • library-like package without higher-risk signals

Signals

  • metadata:library-like

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 10 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
gsl-configcliglobal executable
gsl-histogramcliglobal executable
gsl-randistcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2.8
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://www.gnu.org/software/gsl/

  • infoNo package-manager update timestamp was available.low confidence
  • infoRelease/tag comparison is only available for GitHub repositories.https://www.gnu.org/software/gsl/none confidence

install metadata

Package metadata

Package keybrew:gsl
Version2.8
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/gsl
Homepagehttps://www.gnu.org/software/gsl/
Repositoryhttps://git.savannah.gnu.org/git/gsl.git
Upstream docshttps://www.gnu.org/software/gsl/doc/html
LicenseGPL-3.0-or-later
Source archivehttps://ftpmirror.gnu.org/gnu/gsl/gsl-2.8.tar.gz
Bottleavailable (on arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namegsl
Aliases
  • gnu-scientific-library
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

gsl-bin 2.8+dfsg-5

GNU Scientific Library (GSL) -- binary package

https://www.gnu.org/software/gsl

sudo apt install gsl-bin
  • Section: math
  • Architecture: amd64
  • Source Package: gsl
  • 2 dependencies
  • normalized package name match
  • Matched by: Gsl
Debian stable package indexes · deb.debian.org · Debian stable package indexes: gsl-bin from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libgsl-dbg 2.8+dfsg-5

GNU Scientific Library (GSL) -- debug symbols package

https://www.gnu.org/software/gsl

sudo apt install libgsl-dbg
  • Section: debug
  • Architecture: amd64
  • Source Package: gsl
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Gsl
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libgsl-dbg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libgsl-dev 2.8+dfsg-5

GNU Scientific Library (GSL) -- development package

https://www.gnu.org/software/gsl

sudo apt install libgsl-dev
  • Section: libdevel
  • Architecture: amd64
  • Source Package: gsl
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Gsl
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libgsl-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libgsl28 2.8+dfsg-5

GNU Scientific Library (GSL) -- library package

https://www.gnu.org/software/gsl

sudo apt install libgsl28
  • Section: libs
  • Architecture: amd64
  • Source Package: gsl
  • 2 dependencies
  • 4 optional deps
  • normalized package name match
  • Matched by: Gsl
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libgsl28 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libgslcblas0 2.8+dfsg-5

GNU Scientific Library (GSL) -- blas library package

https://www.gnu.org/software/gsl

sudo apt install libgslcblas0
  • Section: libs
  • Architecture: amd64
  • Source Package: gsl
  • 1 dependencies
  • 4 optional deps
  • normalized package name match
  • Matched by: Gsl
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libgslcblas0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

gsl

nix profile install nixpkgs#gsl
  • normalized package name match
  • Matched by: Gsl
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/gs/gsl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

gsl-bin 2.7.1+dfsg-6ubuntu2

GNU Scientific Library (GSL) -- binary package

https://www.gnu.org/software/gsl

sudo apt install gsl-bin
  • Section: universe/math
  • Architecture: amd64
  • Source Package: gsl
  • 2 dependencies
  • normalized package name match
  • Matched by: Gsl
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: gsl-bin from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libgsl-dbg 2.7.1+dfsg-6ubuntu2

GNU Scientific Library (GSL) -- debug symbols package

https://www.gnu.org/software/gsl

sudo apt install libgsl-dbg
  • Section: universe/debug
  • Architecture: amd64
  • Source Package: gsl
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Gsl
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libgsl-dbg from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libgsl-dev 2.7.1+dfsg-6ubuntu2

GNU Scientific Library (GSL) -- development package

https://www.gnu.org/software/gsl

sudo apt install libgsl-dev
  • Section: universe/libdevel
  • Architecture: amd64
  • Source Package: gsl
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Gsl
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libgsl-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libgsl27 2.7.1+dfsg-6ubuntu2

GNU Scientific Library (GSL) -- library package

https://www.gnu.org/software/gsl

sudo apt install libgsl27
  • Section: universe/libs
  • Architecture: amd64
  • Source Package: gsl
  • 2 dependencies
  • 4 optional deps
  • normalized package name match
  • Matched by: Gsl
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libgsl27 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libgslcblas0 2.7.1+dfsg-6ubuntu2

GNU Scientific Library (GSL) -- blas library package

https://www.gnu.org/software/gsl

sudo apt install libgslcblas0
  • Section: universe/libs
  • Architecture: amd64
  • Source Package: gsl
  • 1 dependencies
  • 4 optional deps
  • normalized package name match
  • Matched by: Gsl
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libgslcblas0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

gsl 2.8-r0

Modern numerical library for C and C++ programmers

https://www.gnu.org/software/gsl/gsl.html

sudo apk add gsl
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: gsl
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Gsl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gsl from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

gsl-dev 2.8-r0

Modern numerical library for C and C++ programmers (development files)

https://www.gnu.org/software/gsl/gsl.html

sudo apk add gsl-dev
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: gsl
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Gsl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gsl-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

gsl-doc 2.8-r0

Modern numerical library for C and C++ programmers (documentation)

https://www.gnu.org/software/gsl/gsl.html

sudo apk add gsl-doc
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: gsl
  • normalized package name match
  • Matched by: Gsl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gsl-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

gsl-static 2.8-r0

Modern numerical library for C and C++ programmers (static library)

https://www.gnu.org/software/gsl/gsl.html

sudo apk add gsl-static
  • License: GPL-3.0-or-later
  • Architecture: x86_64
  • Source Package: gsl
  • normalized package name match
  • Matched by: Gsl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: gsl-static from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

gsl 2.8-3.fc44

The GNU Scientific Library for numerical analysis

https://www.gnu.org/software/gsl/

sudo dnf install gsl
  • License: GPL-3.0-or-later
  • Category: Unspecified
  • Architecture: i686
  • Source Package: gsl
  • 4 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Gsl
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: gsl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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