Welcome to iraf.net Thursday, March 30 2017 @ 08:50 AM GMT

Mac/Intel IRAF Port - Beta Available

  • Tuesday, March 14 2006 @ 05:50 AM GMT
  • Contributed by:
  • Views: 4,130

A beta-release of the Mac/Intel port is now available for user testing. Features are still planned and the final packaging has yet to be done, but this is a fully functional release of IRAF, X11IRAF, various external packages and DS9, all with native Intel binaries.

Please report any problems, bugs, or suggestions to the forum thread started on this topic. The beta may be updated occassionally if serious bugs are found or major new features added, and all users should update to the final release once it is ready. Detailed, if quick, release notes are in the body of the message. For the impatient, here is a link to the distribution directory.

Update: (3/14/06) PPC binaries and common x86/ppc source updated in distribution.
Update: (3/29/06) STSDAS/TABLES V3.5 x86 binaries added to distribution.
Update: (4/03/06) RedHat binaries of port added to distribution (see comments).

                    **** IRAFNET Version 2.13 Release ****

Update Log:
    Mar 13 2006 - V2.13-BETA, Initial beta-release of Mac/Intel Port distro


Contents of this directory:

    README                This file

    V2.13-BETA/           IRAF V2.13-BETA Release directory
        as.pcix.gen.gz    All-Source distribution
        ib.macx.x86.gz    Core IRAF binaries (macintel)
        nb.macx.x86.gz    NOAO Package binaries (macintel)
        pciraf.ps.gz      Installation Guide
        unixsmg.ps.gz     Site Manager's Guide

    ds9/                  DS9 Distribution directory
    extern/               Various IRAF External packages (src and binaries)
    x11iraf/              X11IRAF V1.3.2 MacIntel binary distributions

    bugs.log              (Current) IRAF BugLog file
    help.log              (Current) IRAF HelpLog file

    sysnotes.v213         V2.13 system revisons notes    ** Not Yet Available **
    v213revs.txt          V2.13 revisions summary        ** Not Yet Available **

IRAF V2.13-BETA Distribution Release Notes

Known Issues and Planned Features:

        This is a *beta release* and small problems are expected.  Please
report any bugs or comments to the iraf.net forums or email me directly at
fitz@iraf.net.  Not all planned features of the final release and included
in the beta system, however it should be fully functional.  The list of
known work includes at least:

    - back-port of this system to PPC
    - method to allow cross-compilation of IRAF tasks, e.g. to build
      i386 binaries on a ppc system with a simple XC flag.
    - improved tab-completion handling for ECL 
    - enhanced default XGterm GUI
    - Updated X11IRAF (i.e. full macintel compile)
    - Simplified installation procedures (.pkg installers?)

Sugegstions for other features can be considered, all bug fixes will be
attempted provided they are easily reproducible. 

IRAF V2.13 Installation

        The beta distribution file may be found at


New installation procedures are planned but for the moment we'll stick the
the standard AS/IB/NB format.  Detailed installation instructions may be 
found in the 'pciraf.ps.gz' installation guide in the distribution directory,
simply use the architecture name 'macintel'.  

        The creation of an 'iraf' user is somewhat optional, so long as you
define the "proper environment" in your own .cshrc files.  Since most
MacIntel systems are single-user systems anyway, installing as yourself
is permitted but remember that the final 'install' script must be run as
root or with the 'sudo' command.  As a convenience we'll refer to the base 
of the iraf directory tree simply as '/iraf' but it can be anywhere, the 
install script will create a /iraf link when it is run.  

        We'll assume you've already downloaded the distribution files and
have a directory in mind for IRAF.  To summarize the installation process:

    % cd /iraf                              # go to iraf tree directory
    % mkdir iraf                            # create needed directories
    % mkdir irafbin
    % mkdir irafbin/bin.macintel
    % mkdir irafbin/noao.bin.macintel

    % cd /iraf/iraf                         # go to "iraf root" directory
    % tar zxpf //as.pcix.gen.gz       # unpack AS distribution file

    % cd /iraf/irafbin/bin.macintel         # go to core iraf bin directory
    % tar zxpf //ib.macx.x86.gz       # unpack IB distribution file

    % cd /iraf/irafbin/noao.bin.macintel    # go to core iraf bin directory
    % tar zxpf //nb.macx.x86.gz       # unpack IB distribution file

    % setenv iraf /iraf/iraf/               # trailing '/' required!
    % cd $iraf/unix/hlib                    # go to hlib$ directory
    % sudo ./install                        # run the install script

IRAF should now be installed.  Use 'mkiraf' to create a 'login.cl' file
and 'uparm' directory and 'cl' to login.  Note that an XTerm/XGterm window
is required for graphics.

External Packages

        A number of external packages have been built and are available

        To install any one of these packages you'll need to download at 
least the '-src.tar.gz' source archive (which contains an updated 
toplevel mkpkg file that allows you to configure a 'macintel' architecture),
or additionally the binary distribution.

Package Installation:

   All installation instructions assume '/iraf/extern' as the path where
you will be installing packages.  In the following example we will install
the TABLES package.  Packages not maintained on iraf.net are still available
from their original site or the iraf.noao.edu extern/contrib directories.
We assume you have write permission on the iraf files, and if building sources,
have the proper environment defined (see below).

   1) Define the external package

        A package is declared in the hlib$extern.pkg (i.e. 'hlib$' is the
    iraf notation for the $iraf/unix/hlib directory) file by defining an
    environment variable containing the pathname and a 'task' declaration.
    For our TABLES example package this requires you to add something 
    like the following:

        reset tables = /iraf/extern/tables/
        task  tables.pkg = tables$tables.cl
    Near  the  end of the hlib$extern.pkg file, update the definition of
    helpdb so it includes the package help database, copying  the  syntax
    already  used  in  the  string.   Add  this  line  before  the  line 
    containing a closing quote:

    Note the pathnames *must* contain a trailing '/', also be sure the
    helpdb string is modified before the closing quote.  The distributed
    system has this package defined, so simply uncomment and edit the strings
    as needed.

   2) Create the package directory

        % cd /iraf/extern                       # go to extpkg directory
        % mkdir tables                          # create the directory
        % cd tables                             # go to TABLES directory

   3) Download the package distribution:

        Using anonymous ftp can be done as follows:

            % ftp ftp.iraf.net
            ....login as 'anonymous@iraf.net'
            ....give email as passwd
            ftp> cd iraf/extern                 # go to extern pkg directory
            ftp> bin                            # Turn on binary mode
            ftp> mget tables*                   # get all TABLES files
            ftp> quit

        Note the login includes the domain name and is required!  
        Alternatively, files may be downloaded in your web browser at


   4) Unpack/Build the package:

        Unpack the source file:

            % tar zxvf //tables-src.tar.gz

        o   To Install Pre-Built Binaries, simply unpack binary distribution:

                % tar zxvf //tables-bin.macintel.tar.gz

            This will create the 'bin.macintel' directory containing all the
            package binaries.

        o   To Build from Source:

            Packages may be built using the source from iraf.net, however
            source archives from other sources won't have the architecture
            definition needed in these instructions.

                % setenv tables $cwd/           # define package directory
                % mkpkg -p  macintel       # reset architecture
                % mkpkg -p                 # build package

            Note that some packages may require additional '-p' environment
            flags.  Building from within the CL is possible only *after* the
            package has been defined in hlib$extern.pkg.  Using the pre-built
            binaries is recommended.

   4) The "proper iraf environment" for building sources:

        If you didn't create an 'iraf' user account and plan to build sources
    you'll need to add something like the following to your .cshrc file:

        setenv iraf /iraf/iraf/                 # trailing '/' required
        setenv IRAFARCH macintel                # or 'macosx' for PPC systems
        source $iraf/unix/hlib/irafuser.csh     # additional definitions.

    Edit the paths as needed for your system.


        Pre-built binaries for the X11IRAF tools can be found at


There are still a number of issues to be resolved in porting the X11IRAF
tasks completely to MacIntel (specifically with XGterm) but rather than 
allow these to delay the release any longer we will deal with them separately
later and update the distribution when ready.  As such, the distribution
contains a PPC XGterm binary which appears to work properly, all other binaries
are native i386.

        To install the tools, download the binary distribution from the 
above archive and unpack in a new directory (e.g. /iraf/x11iraf).  This
is simply a binary distribution of the needed files.  The simplest way to
move them to the proper system directories is using the supplied 'install'
script as

        % sudo ./install

Note the 'sudo' is required because by default these will be installed to
public directories like /usr/local/bin and system /usr/X11R6 directories.
Accept all the defaults paths supplied or modify the paths to suit your 

DS9 and MacIntel Build Procedures

        Pre-built binaries for DS9 and the associated XPA tasks may be
found at

        Building from the latest DS9 sources is also possible with a trivial
change.  We used the latest (as of this port) DS9 V4.0b8 release with the 
source obtained from the SAO archive at ftp://sao-ftp.harvard.edu/pub/rd/ds9.
These build pretty easily except for a small problem with the architecture 
flags being set incorrectly by some of the configure scripts.  To fix this 
(and for future releases of the source), simply 'cd' to the source directory 
once unpacked and execute the following commands:

    % cd saods9
    % foreach i (`find . -name configure -print`)
    ?   cat $i | sed -e 's/-arch ppc//g' > _z ; mv _z $i ; chmod 755 $i
    ? end
    % ln -s make.darwin make.include
    % make

This effectively removes the '-arch ppc' flags from the configure files 
(mostly in the Tcl/Tk trees) and allows the natural i386 objects to be built.
Binaries will be in the 'bin' subdirectory when complete.


        This port would not have been possible without the kind support
of Dr. Steve Grandi at NOAO and the access he allowed to his machine.
Thanks Steve!
Mac/Intel IRAF Port - Beta Available | 2 comments | Create New Account

The following comments are owned by whomever posted them. This site is not responsible for what they say.

  • IRAF Button Universal Binary available.
  • Authored by: sirmarcos on Tuesday, March 14 2006 @ 07:27 PM GMT
Sweet. Alas, I have no Intel based Mac to test IRAF or the IRAF button on, but I did successfully create a Universal binary of the IRAF button, which is now available for download. Feed back is appreciated via the email address at my Mac IRAF web site, or if you want to leave comments here I'll try to read them too.
  • Mac/Intel IRAF Port - Beta Available
  • Authored by: fitz on Monday, April 03 2006 @ 10:09 PM GMT
4/3/06 -- I've added RedHat binaries of the IRAFNET V2.13 release to the distribution directory but I would be especially interested in knowing whether these work as-is on other unix flavors as well. I suspect there may be issues with 2.6 kernels later but my general feeling is that a unified linux distro may be (almost) as simple as cleaning up the architecture naming scheme. -Mike

Privacy Policy
Terms of Use

User Functions