NRAO
 

Astronomical Image Processing System
Special MacIntosh OS X instructions

[AIPS]

The 31DEC24 version of AIPS is available as our active development version. It is likely to change on a daily, weekly, and monthly basis. The older 31DEC23 version is "frozen" although some patches for it may be made. They both contain a port to the MacIntosh OS X (Darwin) operating system for both Apple Silicon (ARM M1 and M2) and Intel cpus. The ARM port is still fairly new and was revised in August 2023 for OSX version 13. OSX version 12 (or higher) is required for the ARM version. The Intel port should work on OSX versions 10.14 and later. Binary installations, where possible, are recommended and have become fairly routine. AIPS Intel binaries will run on the new Mac chips for a few years under their "rosetta" system", but we recommend using the MACARM version which is faster. Users doing a text installation will need to install the full set of GNU compilers and readline from GNU-provided source code. The binary installation provides load modules and run-time libraries build by gfortran (beginning with 31DEC19), The performance matches that of the old Intel compiler. Most Mac users run the binary version of AIPS and update with the "Midnight Job". The instructions below may well not be current. Please ignore them and simply follow A Guide to the Install Wizard unless you have to compile the code yourself.

The 31DEC22 version is the first version with support for the new and fast ARM cpu chip. There are now 2 Mac versions: MACINT and MACARM. The MACINT version will work on ARM cpus but the native MACARM version is faster.

The binary versions of 31DEC21, 31DEC20, and 31DEC19 are for 64-bit computers running Mac OS/X 10.10 or greater on Intel cpu chips. Previously, 31DEC18 through 31DEC16 were for 32-bit (or 64 bit) computers running Mac Os/X 10.7 or later. 31DEC15 and earlier were for 32-bit (or 64-bit) computers running Mac OS/X 10.4 or later.

The El Capitan version (10.11) of the operating system made library load paths illegal. The work-around for 10.11 and all later releases is a script we call fix_aips_macos.sh which install.pl will place in several directories including $SYSLOCAL and $AIPS_ROOT. At an appropriate point in the binary installation, install.pl will pause and instruct the installer to use a second terminal window to execute this script. It must be run under bash with sudo privilege. This sets up a variety of links to enable AIPS load modules and TV to function.

The new Mac OS versions have caused some issues. Yosemite and El Capitan both appear to delete some (not all) of the XWindows libraries. See http://xquartz.macosforge.org/landing. to re-install X11.

The code maintenance software cvs also does not come with Mac OS/X any more. 31DEC24 no longer requires cvs even for text installations. NRAO gets this from macports. See https://www.macports.org/ports.php?by=name&substr=cvs for information. The MNJ in 31DEC17 and later vesrions has been changed so that cvs is no longer required for binary installations; it is still used for text installations up to 31DEC24. Note that macports does require Xcode developer tools (v7+ for 10.11). Apple still lists a *free* developer membership, that just requires an Apple ID on their membership comparison page https://developer.apple.com/support/compare-memberships/ which gives access to the developer tools download(s).

When your installation (perl install.pl -n) has finished there will still be two things to do.

  1. When the installation has finished, copy /etc/services to some area you own and edit it, adding the lines
    sssin           5000/tcp        SSSIN      # AIPS TV server
    ssslock         5002/tcp        SSSLOCK    # AIPS TV Lock
    msgserv         5008/tcp        MSGSERV    # AIPS Message Server
    tekserv         5009/tcp        TEKSERV    # AIPS TekServer
    aipsmt0         5010/tcp        AIPSMT0    # AIPS remote FITS disk access
    aipsmt1         5011/tcp        AIPSMT1    # AIPS remote tape 1
    aipsmt2         5012/tcp        AIPSMT2    # AIPS remote tape 2
    

    There may be conflicting services, so you may have to use different numbres for your local installation. Then
    sudo cp services /etc
    and enter your password when required. Note that running AIPS with tv=local removes the requirement for the above operation.

  2. To run the AIPS TV (XAS) with shared memory requires altering system files to make the large memories legal. Since this may no longer work properly, XAS on Mac systems does not use shared memory by default. This seems to work well and you may ignore what follows. On the latest (X 10.5 and greater) systems /etc/rc is gone and creating it will have no effect. You need to create an /etc/sysctl.conf file and put these values in it.
           kern.sysv.shmmax=10485760
           kern.sysv.shmmin=1
           kern.sysv.shmmni=32
           kern.sysv.shmseg=8
           kern.sysv.shmall=4096
    
    Note: You will need to reboot the system for the change in shared memory to take place. You can check if the shared memory changes happened by typing sysctl kern.sysv in a terminal or xterm window. Look for the kern.sysv.shm* values. If the values have not changed, make sure you haven't inadvertently left in sysctl -w in the /etc/sysctl.conf file or mis-typed one of the values. If the /etc/sysctl.conf file is not properly formatted, or shmmax is not an integer multiple of shmall, the shared memory will not be adjusted after the reboot. Note that with large screens, the shmmax may not be enough. A value of 16777216 or more may be required.

  3. On recent systems you must not set the DISPLAY environment variable. Max OS/X sets it to some strange string which works.

  4. To run the midnight-job ("MNJ") you will need rsync and, for versions 31DEC16 and before, cvs (Concurrent Versions System).

PROBABLY OBSOLETE INFORMATION FOLLOWS WHICH MAY BE OF HELP FOR TEXT INSTALLATIONS

Table of Contents

Many thanks to Kristy Dyer and Michael Rupen of NRAO who loaned an iBook computer for this development and who provided much need help and encouragement in the process. Boyd Waters (NRAO) and Miguel F. Morales (MIT) also provided considerable advice. Juan Cabanela (St. Cloud State University) was at the forefront in dealing with problems that arose therafter. A number of other Mac owners have also contributed time and effort. Wes Young, formerly of the NRAO AIPS Group, was instrumental in developing the binary installation process and debugging OS/X issues.


Basic downloads required

Binary installations of AIPS will need the basic tools "cvs" and "XWindows" in non-developer form. If you are doing a text installation, i.e. are compiling the code yourself, then you will need Fortran and C compilers and a variety of software developers tools including those for XWindows.
  1. Mac OS X Developer Tools: You will need the basic software developers' kit from Apple. It contains the C compiler and lots of other goodies, and is available for free. The developers' kit may be available in "/Applicatons/Installers/Developer Tools". Use the finder to see if it's there, click on Applications, then Installers, then Developer Tools. If it exists then double click on the package icon and install the compiler. If the Developers' Tools are not available on your hard drive, they may be available from CD if you bought your OS/X version. If you have the CD's locate the Developers' Tools CD (Xcode disk) and install the "Developers' Tools" package from disk. One final place to get the "Developers' Tools" is from the Apple Developer Connection (ADC). Details on the ADC are (or were) available at the ADC membership page, while details of the Developer Tools are available at the tools page. Once you're a member, you can go to http://connect.apple.com site log in and snag the software.

  2. You will need XWindows for either a binary or a text installation. See http://xquartz.macosforge.org/landing/ to re-install X11.

  3. For a text installation, you also need the XWindows software developers kit which contains the C include files needed to compile XAS. This should be available in the xquartz installation.

Installing the GNU compilers and readline: text installations only

  1. Download the GNU tar balls from GNU. gfortran version 5.3.0 and later appear to work.

  2. Disable the line
             source /sw/bin/init.csh; rehash
    from your account's .tcshrc, .cshrc, or .bashrc file if present. Note that this may have dire consequences for other Fink-supplied utilities and is probably not needed any more. The default Fink gcc has also been of an acceptabloe flavor of late.

  3. Follow instructions to install the compilers. Old instructions which used to work are
             ./configure --prefix=/usr/local/gnu
             gnumake bootstrap
             sudo gnumake install

  4. Install readline using
    	 export CC=/usr/local/gnu/bin/gcc 
    	     or
    	 setenv CC /usr/local/gnu/bin/gcc
             ./configure --prefix=/usr/local/gnu --with-curses --disable-shared
             gnumake
             sudo gnumake install

File systems

  1. The file systems that you use for AIPS should be fully modern ones. Please use "MACos extended, with lower-case support" file systems. The "FAT32" file system does not allow, among other things, the rename system operation which AIPS requires.

Now install AIPS

  1. Following the instructions for installing the 31DEC20 version of AIPS. After install.pl has been downloaded, it will need to be made executable. Run it with the command perl install.pl or edit it to set /usr/bin/perl rather than /usr/local/bin/perl in its first line. (The command perl install.pl -n is used for the binary installation.)

  2. Make sure on screen 10 that readline points to the /usr/local/gnu/libreadline.a version.

  3. When the installation has finished, copy /etc/services to some area you own and edit it, adding the lines
    sssin           5000/tcp        SSSIN      # AIPS TV server
    ssslock         5002/tcp        SSSLOCK    # AIPS TV Lock
    msgserv         5008/tcp        MSGSERV    # AIPS Message Server
    tekserv         5009/tcp        TEKSERV    # AIPS TekServer
    aipsmt0         5010/tcp        AIPSMT0    # AIPS remote FITS disk access
    aipsmt1         5011/tcp        AIPSMT1    # AIPS remote tape 1
    aipsmt2         5012/tcp        AIPSMT2    # AIPS remote tape 2
    

    You will have to comment out some conflicting services, all of which we believe are obsolete. Then
    sudo cp services /etc
    and enter your password when required.

Now run AIPS

  1. Start up /Applications/X11.ap/Contents/MacOS/X11.

  2. In the xterm that this creates, type the aips command line and begin your aips session.

But there are problems

  1. If things do not work properly, e.g. the TV does not start, see the AIPS Manager FAQ or above for suggestions. On modern systems, you MUST NOT set the DISPLAY environment variable.

  2. The default Mac system limits shared memory pages to 4 Mbytes. When XAS starts it tells you that it is making a screen x pixels by y pixels. The memory you will need is at least 4 x y bytes. For the new large screens this is more than 8 Mbytes. See instruction 2 in the initial section at the top of this page.

You WILL want a Midnight Job!

If your site has a need for the current version of AIPS with updates via the Internet and the so-called midnight job, Read this information. It has additional information and instructions. Or contact Eric Greisen for further information.

Since releases of AIPS are planned to be only on an annual basis, the midnight job (now with easier setup and NO ssh) will be the only way for AIPS users outside of NRAO to avail themselves in a timely fashion of whatever enhancements, changes, or new functionality we add to Classic AIPS.


Modified on $Date: 2023/12/05 18:19:02 $
[Eric W. Greisen]