HEAsoft install on a Mac

Updated Jan 19, 2021! Still in progress because I’m struggling to ‘make install’!

Here are my instructions for how to get HEAsoft, the NASA High Energy Astrophysics Software, set up on a Mac with macOS Catalina (v10.15.7). I learned most of this from HEAsoft’s own documentation (and a lot of trial and error over the years). I work in bash, so adapt as needed if you use c-shell or zsh. Disclaimer: I’m not a HEAsoft developer or maintainer, so follow this advice at your own risk. Actual HEAsoft maintainers should be your first point of contact if something goes wrong.

Step 0

Make a full backup of your machine as-is.

Step 1

Install these things:

Anaconda
Xcode (in the app store)
Command Line Tools for Xcode (also in the app store)
homebrew (or another package manager like MacPorts or Fink)

Step 2

Using the package manager, install the following (and their dependencies):

wget
gcc
perl
automake
mawk
wcslib
lzip
gnuplot
pgplot
flex
ncurses

Step 3

Download the HEAsoft source tarball. The first bullet point, above Step 1 on that page, should have everything you need (and you probably don’t need the extra old XSPEC stuff). This download takes like 30 minutes! I then sudo-make the directory /usr/local/src and sudo-unzip the HEAsoft tarball in there (tar -xvzf).

Step 4

Follow the instructions for remote CALDB: https://heasarc.gsfc.nasa.gov/docs/heasarc/caldb/caldb_remote_access.html. Remember to save the files in /usr/local/src and put the appropriate export lines in ~/.bashrc!

Step 5

Copy/paste into ~/.bashrc (using homebrew installations of the compilers and the anaconda distribution of python 3):

export CC=/usr/bin/gcc-10
export CXX=/usr/bin/g++-10
export FC=/usr/local/bin/gfortran-10
export PERL=/usr/bin/perl
export PYTHON=/Users/YourUserName/opt/anaconda3/bin/python

Step 6

Check that /opt/X11 is a real place where X11 lives. For example, if cd /opt/X11 takes you somewhere and has contents like bin, include, and lib (among others), you’re probably good to go.

Step 6

To configure, make, and install (Note: your HEAsoft version number might be different when you reference this blog post):

cd /usr/local/src/heasoft-6.28/BUILD_DIR/
./configure –x-libraries=/opt/X11/lib –x-includes=/opt/X11/include >& config.out
make > build.log 2>&1
make install > install.log 2>&1

You should be able to open config.out, build.log and install.log as those things are going (from a different terminal window) to see their progress. The make line with build.log takes a particularly long amount of time (like 20ish minutes).

Step 7

Copy/paste into ~/.bashrc for general use (again, your HEAsoft version number and system architecture might be different. If you ls in the HEAsoft directory you’ll see what to put for the system architecture thing):

export HEADAS=/usr/local/src/heasoft-6.28/x86_64-apple-darwin17.5.0
alias heainit=”. $HEADAS/headas-init.sh”

To start up XSPEC, in a bash terminal session type

heainit
xspec

and it should start up an XSPEC environment! Happy analysis!

Step 8

Once I install HEASoft properly and get PyXSPEC working, I’ll put the steps here.