# Building from sources

Note

If you are only trying to install SciPy, see Installing and upgrading.

Build instructions for different operating systems and an FAQ:

- Building from source on Linux
  - Generic instructions
  - Specific instructions
  - Fortran ABI mismatch
- Building from source on Windows
  - Overview
  - Building the Released SciPy
  - Building Against an Older NumPy Version
  - Additional Resources
- Building from source on macOS
  - Python
  - Compilers (C/C++/FORTRAN/Cython/Pythran)
  - BLAS/LAPACK Installation
  - Version-specific notes
  - Obtaining and Building NumPy and SciPy
- Build/Install FAQ

# Reference for build options

Scipy has several tunable build-time options, which can be set.

- `site.cfg`: build-time library configuration file, see `site.cfg.example` for details.

- Environment variables `NPY_LAPACK_ORDER`, `NPY_BLAS_ORDER`, `OPENBLAS`, `ATLAS`, etc., also controlling library configuration. See Numpy documentation for more details.

- Environment variable `NPY_USE_BLAS_ILP64=1`: build using 64-bit integer size (ILP64) BLAS+LAPACK libraries.

  Note that even when this is set, Scipy requires also 32-bit integer size (LP64) BLAS+LAPACK libraries to be available and configured. This is because only some components in Scipy make use of the 64-bit capabilities.