I prepared a Debian (Ubuntu) package, which I plan to upload in the next weeks. The source code repository can be found here:
The package is based on my merge-all
branch of the IRAF github repository, with additionally the Remove-VO
patches applied. Changes to the original 2.16.1 sources (and upstreams master
1. Fixes to build and run IRAF on non-historic platforms
The original code produces errornous executables when build on Linux versions later than 2012, due to some funny hacks
in the IRAF code. It also did not build from scratch, but required an already compiled IRAF version. This (and a number of other bugs, including the 13 year old crash
on 32-bit systems) is fixed with the Debian package (and in the merge-all branch)
2. All known non-free code removed
Although IRAF 2.16.1 was claimed to be "free software", it containes source code that is not freely distributable; namely code copied from the book "Numerical Recipes in Fortran". This code is replaced with free equivalents
in the Debian package.
3. VO package and vocl removed
The VO package, and the vocl shell heavily depend on a number of Java jars, where the creation from sources is undocumented. The package also uses outdated VO standards. A discussion with Mike Fitzpatrick
resulted in his plan to move the VO functionality into an external package. Therefore, no attempt was put into getting these problems fixed, and the VO stuff was jut out.
The VOTable functionality, however, remains available.
4. Directory structure slightly adjusted
The IRAF root (iraf$) will be in /usr/lib/iraf/
After a discussion on a Debian mailing list
, the architecture dependent subdirectories were removed, so there is no "bin.linux" or "bin.linux64", but just a "bin". They conflict with the Multi-arch approach of Debian and Ubuntu, and are generally not needed, even with 32-bit-only packages on 64-bit platforms.
Also, there is a common login script located in /etc/iraf/login.cl.
5. The "cl"/"ecl" scripts are rewritten as "/usr/bin/irafcl"
Both cl and ecl conflict with commonly used executables os the Common Lisp compiler. These conflicts are not allowed in Debian.
I took the opportunity to rewrite this script from scratch, so that it can now also be used to run own cl scripts with the "-f" option. It also removes the need for "mkiraf" to initialize the IRAF use.
6. The package is split into four sub-packages
- iraf: Kernel and core components of the system
- iraf-dev: Development environment (xc, mkpkg & friends)
- iraf-noao: NOAO subpackages for reduction and analysis of optical data
- iraf-nono-dev: Development files for the NOAO package
The split was done to allow installations that are stripped down to the needs on small systems, like Raspberry Pi.
For your testing convenience, I have created packages for Ubuntu 16.04 and put them into the following repository:
To test this on Ubuntu 16.04, do the following (untested, I don't have Ubuntu myself):
SH Formatted Code
$ sudo add-apt-repository ppa:olebole/astro-xenial
$ sudo apt-get update
$ sudo apt-get install iraf iraf-dev iraf-noao iraf-noao-dev xterm
$ irafcl -x
and you should get the IRAF prompt in an xterm window (xgterm is not ready yet).
Please keep in mind, that they are prereleases; so expect (and report!
) problems. Please also discuss here all aspects of the packages, especially the ones that you don't like and that should be changed.