This page discusses installing the LSC Software Stack from MacPorts under Mac OS X.
Installing the LSC Software Stack from MacPorts
The
MacPorts Project is an open-source community initiative to design an easy-to-use system for compiling, installing, and upgrading open-source software on the Mac OS X operating system. It provides a command-line driven tool that greatly simplifies the task of compiling and installing open-source software on your Mac.
Officially MacPorts is supported on the current and immediately previous macOS releases, so at the time that is 10.10 (Yosemite) and 10.11 (El Capitan), earlier releases are supported on a best effort basis.
Installing, and updating MacPorts
There is detailed documentation on how to
install MacPorts on the project page. It is a simple process, you can either download a binary installer for your platform or download and build the source code yourself. Once MacPorts has been installed you need to apply available updates by running the following:
sudo port -d selfupdate
This checks to see if there is a newer version of MacPorts
base available, installing it if appropriate, and updates your ports tree to the latest version. This step should be done every now and again to ensure you are running the latest version, of both MacPorts base and the ports tree.
Enable Stable LSCSoft MacPorts Repository
There is a Stable LSCSoft MacPorts repository available that contains versions of the LSCSoft Suite that are not appropriate for submission to the upstream
MacPorts repository, for exmaple utilities for interfacing with the IFO Control system. Whilst you do not
need to enable this repository it is recommended. To enable this simply edit the
/opt/local/etc/macports/sources.conf
file and add
rsync://software.ligo.org/macports
so that it is
before the default
macports.org
entry, i.e.:
rsync://software.ligo.org/macports
rsync://rsync.macports.org/release/tarballs/ports.tar [default]
Then simply sync your ports tree, and upgrade any outdated ports.
Installing the LSC Software Stack
With the MacPorts base system now installed, and up to date, it is a straightforward process to install the LSC Software Stack. There is a meta-port that installs all the dependencies required for developing Glue and LALSuite, which can be installed by running:
sudo port install lscsoft-deps
This will then install
all the dependencies required for running and developing Glue, LALSuite, and PyLAL from the Git development repositories:
lscsoft-deps @20180424 (science)
Variants: [+]glue, [+]lalsuite, [+]pylal
Description: This is a meta-port that depends on all the ports needed
for developing Software used within the LIGO Scientific
Collaboration.
Homepage: http://www.lsc-group.phys.uwm.edu/daswg
Runtime Dependencies: autoconf, automake, git, git-lfs, libtool, pkgconfig,
py27-cjson, py27-dnspython, py27-libxml2, py27-m2crypto,
py27-numpy, py27-pyrxp, py27-pyxmpp, python27, glib2,
fftw-3, fftw-3-single, gsl, hdf5, healpix-c,
ldas-tools-framecpp, libframe, libxml2, metaio,
py27-astropy, py27-h5py, py27-healpy, py27-pytest,
py27-pytest-mpl, py27-shapely, swig, swig-python,
py27-matplotlib, py27-matplotlib-basemap, py27-scipy
Platforms: darwin
License: unknown
Maintainers: Email: ram@macports.org, GitHub: skymoo
Email: aronnax@macports.org, GitHub: lpsinger
Email: ed.maros@ligo.org, GitHub: emaros
Note: this will take a long time to install as one of the dependencies is
py27-scipy
which, in turn, requires a fortran compiler to be available, as Xcode does not provide a fortran compiler one must be built from source.
After installation you will need to make the MacPorts python the active version, so the appropriate modules can be found, by running:
sudo port select --set python python27
Installing release versions of Glue, LALSuite, etc...
The release version of Glue is also available in MacPorts and can be installed with:
sudo port install glue
The release versions of the LALSuite packages, LAL, LALFrame,
LALMetaIO, ..., LALApps, etc... can be installed with:
sudo port install lalapps
Or specific packages can be installed by replacing
lalapps
, in the above command, with the required package.
Suggested Packages
There are packages which, whilst they are not
required for using LSC Software, make things easier. One of these is
ipython
, an interactive python shell, this can be installed with:
sudo port install py27-ipython -scientific
sudo port select --set ipython ipython27
Keeping your system up-to-date
Periodically you should check that your system is up-to-date and install all appropriate updates, this can be done by running the following:
sudo port selfupdate
sudo port upgrade outdated
Enabling LSCSoft Testing
There is a MacPorts testing repository available that contains versions of the LSCSoft Suite before they have been approved for production use by the SCCB. If you want to enable this simply edit the
/opt/local/etc/macports/sources.conf
file and add
rsync://software.ligo.org/macports-testing
so that it is
before the default
macports.org
entry and the stable LSCSoft repository, i.e.:
rsync://software.ligo.org/macports-testing
rsync://software.ligo.org/macports
rsync://rsync.macports.org/release/tarballs/ports.tar [default]
Then simply sync your ports tree, and upgrade any outdated ports.
Getting help
If you run into any problems building any of the above ports then the quickest way to get this to the attention of the relative MacPorts maintainer is to file a
ticket. Please make sure you add
ram @ macports.org
to the CC field.
For other questions please ask on the
LIGOMac mailing list.