Updated Feb 1, 2021
Here are my instructions for how to get HEAsoft, the NASA High Energy Astrophysics Software, set up on a Mac with macOS Big Sur (v11.6). 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.
Make a full backup of your machine as-is.
Install these things:
Xcode from the App Store
Command Line Tools for Xcode by typing in a terminal window: xcode-select –install
homebrew (or another package manager like MacPorts or Fink)
prompted to run these by homebrew:
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch –unshallow
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch –unshallow
Using the package manager, install the following (and their dependencies). Some of these are
brew upgrade Thing instead of
brew install Thing (it will complain and tell you).
brew install gcc@10
brew install x11vnc
brew install perl
brew install wget
brew install automake
brew install mawk
brew install flex
brew install wcslib
brew install lzip
brew install slang
brew install imagemagick
brew install gnuplot
brew install ncurses
brew install pgplot
brew install cfitsio
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 put it in the directory
~/opt/ and unzip the HEAsoft tarball in there (
tar -xvzf). This is a different location than what I’ve previously done! It seems that the new macOS really hates letting the user install things as
As it’s downloading, navigate to your old HEADAS directory and rename it to, e.g.,
old-heasoft6.28. This way there won’t be weird crosstalk. You can also delete your previous
old-heasoft and tarball if you still have it. If you’ve never ever installed HEAsoft on your computer, you can skip this part.
Follow the instructions for remote CALDB: https://heasarc.gsfc.nasa.gov/docs/heasarc/caldb/caldb_remote_access.html. Remember to save the files in
~/opt/ and put the appropriate export lines in
~/.bashrc (using homebrew installations of the compilers and the anaconda distribution of python 3):
unset CFLAGS CXXFLAGS FFLAGS LDFLAGS
~/.bash_profile file, be sure that
/usr/local/bin are at the beginning of your
PATH environment variable.
Restart your computer. I don’t know how necessary this is, but it’s one of the few things that changed in the few days between the install not working and working.
To configure, make, and install (your HEAsoft version number might be different when you reference this blog post):
make > build.log 2>&1
make install > install.log 2>&1
Note that I’m no longer passing the X11 include and library directories to the configure script, as I’ve had to do in previous installs. You should be able to open
install.log as those things are going (from a different terminal window) to see their progress. You can also use
tail build.log and
tail install.log to view the last 10 lines of the files (though this won’t update, so this is more for occasional checks).
make line with
build.log takes a particularly long amount of time (like 20ish minutes). Since it’ll use a lot of memory and you’ll hear the fans going as it’s
makeing, I don’t recommend playing videogames on your computer in the downtime.
~/.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):
alias heainit=”. $HEADAS/headas-init.sh”
To start up XSPEC, in a bash terminal session type
and it should start up an XSPEC environment! Happy analysis!
Treat yourself. You’ve earned it.