IRAF is the image reduction and analysis facility. It has been ITP'ed for debian, but is apparently not in debian due to some licensing wrangling.

Some older debianized packages appear to be available from . A few are also attached at the bottom of this page, as well as complete IRAF installation steps.

It also appears that the User commnunity at is reporting success on ubuntu (however vaguely).

Here's some information Fernando got off the IRAF maintainers:

On Wed, 28 Dec 2005, Fernando Camilo wrote:

>> Could you please let me know whether there are any known issues for IRAF 
>> running under Linux Debian 3.1 (sarge)?  We are building a new Linux-based 
>> computing network here at the Columbia Astrophysics Lab and want to make 
>> sure that the key packages will work under our proposed operating system.

	There are no particular issues assuming you use the "linux" 
architecture and our distribution.  The various debian packages *do*
have known problems with compiling locally and/or running at all and
appear to have since been abandoned by the package maintainer.  64-bit
systems still aren't supported but other wise proceed with a normal
installation using the LNUX architecture and you should be fine.

Mike Fitzpatrick
NOTE:  As of Jan 1, 2006 NOAO  no longer operates a HelpDesk for
IRAF at   Support is being moved to a forum-based system
at, please post future questions to that site.  Thanks.


Binaries/Packages for IRAF installation: The source/binaries can be found here

  • as.pcix.gen.gz All-Sources (main IRAF distribution)
  • ib.lnux.x86.gz Core system binaries for Linux (generic)
  • nb.lnux.x86.gz NOAO package binaries for Linux (generic)
  • patch2a IRAF V2.12.2a patch release files

Create a local user iraf (pass: iraf) with csh shell and home directory at:

usr/local/iraf/iraf/local (Use the iraf account for installation and maintenance)

Create directories under /usr/local/:

metis:/usr/local> su cdelacruz
metis:/usr/local> mkdir iraf
metis:/usr/local> chown -R iraf:iraf iraf
metis:/usr/local/iraf> cd iraf
metis:/usr/local/iraf> mkdir iraf
metis:/usr/local/iraf> cd iraf
metis:/usr/local/iraf/iraf> mkdir local
metis:/usr/local/iraf> mkdir irafbin
metis:/usr/local/iraf> cd irafbin
metis:/usr/local/iraf/irafbin> mkdir bin.linux
metis:/usr/local/iraf/irafbin> mkdir noao.bin.linux
metis:/usr/local/iraf/irafbin> cd ..
metis:/usr/local/iraf> mkdir x11iraf
metis:/usr/local/iraf> mkdir extern
metis:/usr/local/iraf> cd extern

Extract iraf source archive:

metis:/usr/local/iraf> cd iraf
metis:/usr/local/iraf/iraf> gzip -d as.pcix.gen.gz
metis:/usr/local/iraf/iraf> tar -xf as.pcix.gen

Extract binaries under following directories:

metis:/usr/local/iraf/irafbin/bin.linux> cat /usr/local/iraf/ib.lnux.x86.gz | zcat | tar -xpf -
metis:/usr/local/iraf/irafbin/noao.bin.linux> cat /usr/local/iraf/nb.lnux.x86.gz | zcat | tar -xpf -

Install Patches:

patch2a.tar.gz and hbin.lnux.x86.gz iraf@metis% tar xfv patch2a.tar

metis:/usr/local/iraf/iraf> gzip -d patch2a.tar.gz 
metis:/usr/local/iraf/iraf> tar -xf patch2a.tar

metis:/usr/local/iraf/iraf/unix/bin.linux> cat /usr/local/iraf/hbin.lnux.x86.gz | zcat | tar -xpf -

2.1  Special Note to LNUX Architecture Users

	The V2.12.2 HSI binaries (mkpkg, xc, hardcopy translators, etc)
have a known problem affecting compilation of local tasks or external
packages and should be replaced.  This patch fixes the problem, however to
fix only the compilation issues a new set of HSI binaries are also being
made available the patch directory as

To use this file, simply download in binary mode and unpack in the
$iraf/unix/bin.linux directory.  Contact site support with questions.

Initialize the environment for installation:

metis:/usr/local/iraf/iraf/unix/hlib> setenv iraf /usr/local/iraf/iraf/
metis:/usr/local/iraf/iraf/unix/hlib> cd $iraf/unix/hlib
metis:/usr/local/iraf/iraf/unix/hlib> source irafuser.csh

Test the install script with the -n:

metis:/usr/local/iraf/iraf/unix/hlib> ./install -n

Run installation script as root user:

metis:/usr/local/iraf/iraf/unix/hlib> sudo ./install

Follow the default prompts.
Congratulations!  IRAF has been successfully installed on this system.

    To begin using the system simply log in as any user and from the
directory you wish to use as your iraf login directory type:

            % mkiraf        # create a file
            % cl            # start IRAF

The 'iraf' user is already configured with a file so a simple
'cl' command is sufficient to start the system.

Additional information can be found at the IRAF web site:


Please contact site support with any questions or problems at


================  Installation Completed With No Errors  ===============


Tested using my account:

cdelacruz@metis:~$ mkiraf
-- creating a new uparm directory
Terminal types: xgterm,xterm,gterm,vt640,vt100,etc.
Enter terminal type: xgterm
A new LOGIN.CL file has been created in the current directory.
You may wish to review and edit this file to change the defaults.
cdelacruz@metis:~$ cl
setting terminal type to xgterm...
timeout - terminal type set wrong? (`stty termtype' to reset)

    NOAO PC-IRAF Revision 2.12.2-EXPORT Sun Jan 25 16:09:03 MST 2004
    This is the EXPORT version of PC-IRAF V2.12 supporting most PC systems.

    Welcome to IRAF.  To list the available commands, type ? or ??.  To get
    detailed information about a command, type `help command'.   To  run  a
    command  or  load  a  package,  type  its name.   Type  `bye' to exit a
    package, or `logout' to get out of the CL.   Type `news'  to  find  out
    what is new in the version of the system you are using.   The following
    commands or packages are currently defined:

      dataio.     images.     lists.      obsolete.   proto.      system.
      dbms.       language.   noao.       plot.       softools.   utilities.
cl> logout

Required Packages


Install Tables and STSDAS

Created directories and uncompressed archives at:


Modified the /usr/local/iraf/iraf/unix/hlib/extern.pkg file:

reset   tables          = /usr/local/iraf/extern/tables/
task    tables.pkg      = tables$

reset   stsdas          = /usr/local/iraf/extern/stsdas/
task    stsdas.pkg      = stsdas$
task    apropos         =stsdas$

reset   helpdb          = "lib$helpdb.mip\

*NOTE: the following error was caused by an editting error in above file, 
make sure to edit the changes as they appears above.

cdelacruz@io:~$ cl
ERROR: Newline while processing string
    cl ()
    cl ()
Error while reading file - may need to rebuild with mkiraf
Fatal startup error.  CL dies.
cdelacruz@io:~$ cd /

Set the following system variables:

setenv IRAFARCH linux
setenv iraf /usr/local/iraf/iraf/
source $iraf/unix/hlib/irafuser.csh
setenv PATH /usr/local/bin:$PATH

Tables Installation

metis:/usr/local/iraf/extern/tables> mkpkg linux

metis:/usr/local/iraf/extern/tables> mkpkg linux
deleting any dreg .e files left lying about in the source directories... done
archiving and deleting generic objects... restoring archived linux objects... 
no object archive found; full sysgen will be needed

load iraf:

metis:/usr/local/iraf/extern/tables> cl

cl> tables
ta> softools
so> cd tables
so> mkpkg -p tables 

STSDAS Installation

metis:/usr/local/iraf/extern/stsdas> mkpkg linux

metis:/usr/local/iraf/extern/stsdas> mkpkg linux
deleting any dreg .e files left lying about in the source directories... done
archiving and deleting generic objects... restoring archived linux objects... 
no object archive found; full sysgen will be needed

load iraf:

metis:/usr/local/iraf/extern/stsdas> cl

cl> stsdas
st> softools
so> cd stsdas
so> mkpkg -p tables -p stsdas

Compile Python code (under python directory):

iraf@metis% python ./*


Sample HST data files are provided in the directory stsdas$data/fits. Use the stsdas fitsio package to read these files. The expanded version of the files should be placed into the directory stsdas$data using the following commands:

cl> stsdas
st> fitsio
fi> cd stsdas$data/fits
fi> cl <

metis:/usr/local/iraf/extern/stsdas> cl
Warning: no found in login directory
      apropos     images      noao        proto       system
      dataio      language    obsolete    softools    tables
      dbms        lists       plot        stsdas      utilities
cl> stsdas

      |       Space Telescope Science Data Analysis System         |
      |            STSDAS Version 3.4, November 01, 2005           |
      |                                                            |
      |   Space Telescope Science Institute, Baltimore, Maryland   |
      |   Copyright (C) 2003 Association of Universities for       |
      |            Research in Astronomy, Inc.(AURA)               |
      |       See stsdas$copyright.stsdas for terms of use.        |
      |         For help, send e-mail to            |
      |                                                            |
      analysis    describe    fitsio      hst_calib   problems    toolbox
      contrib     examples    graphics    playpen     sobsolete
st> fitsio
      catfits       fitscopy      gftoxdim      stwfits
      fits_exampl   geis          strfits       xdimtogf
fi> cd stsdas$data/fits
fi> cl <
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
foc.fits         ../scidata/foc.hhh  512  512       32 13/08/91   HZ4 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
fos.fits         ../scidata/fos.hhh  2064           32 04/01/93   WD0501+527 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
hsp.fits         ../scidata/hsp.hhh  5000           32 14/10/91 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
hrs.fits         ../scidata/hrs.hhh  2000 4         32 01/09/92   B-PIC 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
wfpcc0.fits      ../scidata/wfpc.c0h 800  800  4    32 30/11/90 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
wfpcc1.fits      ../scidata/wfpc.c1h 800  800  4    16 30/11/90 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
cosiaf.fits      ../scidata/cosiaf.t                16 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
czptnelinec.fits null_image                         8  10/09/93 
                 ../scidata/czptneli 66   3015  Ncols=  7
                 renamed to ../scidata/
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
czscoffc.fits    ../scidata/czscoffc                16 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
saa.fits         null_image                         8  03/11/93 
                 ../scidata/saa01.ta 736  17    Ncols= 46
                 renamed to ../scidata/
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
de200.fits       ../scidata/de200.ta 0              8 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
lftemplate.fits  ../scidata/lftempla 3              32 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
xmatrix.fits     ../scidata/xmatrix. 51   48        32 
Fits_file        IRAFNAME            Dimensions     BP DATE       OBJECT
ymatrix.fits     ../scidata/ymatrix. 63   48        32 

Additional Packages

X11IRAF (1.3.1) Installation

X11IRAF Binary/Source is available here

The following installation is based on the binary distribution.

Unpacked the X11IRAF files in a scratch directory:

% cat x11iraf-v1.3.1-bin.<arch>.tar.gz | gunzip | tar -xf -

metis:/usr/local/iraf/x11iraf> gzip -d x11iraf-v1.3.1-bin.linux.tar.gz
metis:/usr/local/iraf/x11iraf> tar xf x11iraf-v1.3.1-bin.linux.tar

Launching 'ximtool' caused the following error:

'ximtool: relocation error: ximtool: symbol errno, 
version GLIBC_2.0 not defined in file with link time reference'

Several posts on the forum recommended the installation of 
[ x11iraf-v1.3.2-bin.redhat.tar.gz binaries]
For the installation, the bin.redhat folder was renamed bin.linux to bypass the install script error.

Ran the 'install' script:

. /opt/iraf/212a/extern/x11iraf/install 

Set the binary installation directory as:


Error when launching an 8bit window:

"Warning: cannot open /dev/imt1o
Segmentation fault"

***refer to the forum and documention (iraf admin. guide)

Did not install the CDL (Client Display Library)

Selected default options for remainder of prompt.


iraf.h Path


The file "iraf.h" is referenced as <iraf.h> in IRAF C source files, and is used
to load all other IRAF/LIBC C header files via "#define import_XXX" defines in
these files.  In order for the C compiler to find <iraf.h>, one should either
[1] add the directory $hlib/libc to the list of directories to be searched by
the C compiler for include files, or [2] make a link to, or copy of,
libc/iraf.h in the system directory /usr/include.

Created the following link:

cdelacruz@titan:/usr/include$ sudo ln -s /opt/iraf/current/iraf/unix/hlib/libc/iraf.h ./iraf.h

Syntax Error Fix

After initiating the iraf environment using the mkiraf command, the following error, briefly, flashes
across the screen:

** Syntax error
**: if (!access (".hushiraf"))

Found the following fix on forum:

"This is a harmless error in the file and in most cases it 
flashes past without users even noticing. You can fix it by changing the line to read


if (access (".hushiraf") == no)

The template file in hlib$ should also be changed, 
doing a new MKIRAF will recreate your from the template. "

DS9 posted discussion regarding our compiled ds9 can be found here.

ds9 must be open in order to view images within iraf. The existing compiled ds9 (4.07b) 
produced error messages when trying to view images; solution was to dowload the 
ds9 (4.08b) binary.

Installation steps attached

A detailed and concise step-by-step installation of IRAF along with X11IRAF, DS9, Tables, and STSDAS on a Ubuntu machine is shown in the attached file. Some obsolete Debian packages needed for the installation that are no longer available in Debian/Ubuntu repositories are also attached.