On some systems (Ubuntu, Debian, Mint, Mageia), IRAF can be directly installed from the package repositories. Packages for Fedora are available from the RPM Sphere third-party repository. Please contact us if you want to help packaging for macOS or other Linux versions.
Installation from source
IRAF v2.17 is available from github at
To download the sources, choose the tar.gz file. The zip file does not keep the symbolic links and will not work.
System Requirements and Dependencies
Additionally to the tar file, a C compiler, the “make” program, flex, and some development packages are required.
On Debian and its derivatives (Ubuntu, Mint, Devuan, Raspbian etc.):
$ sudo apt install gcc make flex $ sudo apt install libcurl4-openssl-dev libexpat-dev libreadline-dev
On Fedora and its derivatives (Redhat, Scientific Linux etc.)
$ sudo dnf install gcc make perl flex $ sudo dnf install libcurl-devel expat-devel readline-devel
On MacOS X, you need to have the XCode tools installed to build from source. If you haven’t, you can install them with:
$ xcode-select --install
Click “Install” to download and install Xcode Command Line Tools.
Compile the Sources
The source distribution file is built as a tarball with the package name and version as base directory. Thus, distribution files can be unpacked with the command
$ tar zxf /<path>/iraf-2.17.tar.gz $ cd iraf-2.17/
In the source directory, execute the install script to create needed links:
$ ./install # execute the install script
The script will prompt you for the path to the default image
directory, the cache directory and the binary files directory.
Usually, you can everywhere use the default settings when asked from
the install script. You will need to include the binary files
directory in your PATH before proceeding to the
In BASH this can be done with the command:
$ export PATH=/path/to/iraf/bin/:$PATH
</path/to/iraf/bin/> is the binary files path specified to
the install script.
Now you can configure the system for the proper architecture and build:
$ make <arch> $ make sysgen 2>&1 | tee build.log
<arch>, use the proper IRAF architecture name:
||Operating system||Supported CPU types|
||Linux 64 bit||x86_64, arm64, mips64, ppc64, riscv64, alpha|
||Linux 32 bit||i386, x32, arm, mips|
||macOS 64 bit||arm64|
||macOS 64 bit||x86_64|
||macOS 32 bit||i386|
||FreeBSD 64 bit||x86_64|
||FreeBSD 32 bit||i386, arm|
||GNU HURD 32 bit||i386|
Note that Cygwin and big endian architectures like macosx/ppc are not supported anymore.
Test the Build
IRAF comes with a small set of basic tests to ensure that the build works fine. To execute the tests, run:
The details of the tests are described here