[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Debian/Ubuntu IRAF package on the horizon (fwd)

Hi all,

just forwarding from the http://iraf.net forum, to have a broader

Dear all,

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 branch) include:

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):

$ 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.

Best regards


Reply to: