Quick Start

The following provides a minimal set of installation instructions to get started. For more information or if you encounter problems, please refer to the detailed sections that follow.

Prerequisites that must already be installed:

Run the commands from the following steps in a terminal window:

  1. Configure the ESO repository (This step is only necessary if the ESO repository has not already been previously configured.)

    If the esorepo port is already available on your system run the following (Check with port search esorepo. It is not available if the response is "No match for esorepo found".):

    sudo port install esorepo

    otherwise run:

    curl ftp://ftp.eso.org/pub/dfs/pipelines/repositories/macports/setup/Portfile -o Portfile
    sudo port install
    sudo port sync
  2. Install the pipelines

    The list of available top level packages for different instruments is given by:

    port list esopipe-*-all

    To install all pipelines use:

    sudo port install esopipe-*-all

    To install an individual pipeline use the following (This example is for X-Shooter. Adjust the port name to the instrument you require.):

    sudo port install esopipe-xshoo-all
  3. Launch EsoReflex

    esoreflex

Using the MacPorts Pipeline Repository

Users that are having problems with the above Quick Start instructions or advanced users should read the following sections. Users of laptops and workstations provided by ESO should have the repository already configured if you have a recent installation of OS X from helpdesk. Thus, you can immediately install the pipelines using the port command. If this is not the case, continue to follow these instructions to setup the repository.

The following sections indicate in more detail how you can setup MacPorts to use the repository of pipeline software provided by ESO. This installation procedure is currently only officially supported for Apple OS X 10.9 or newer.

These instructions assume that MacPorts and XCode command line tools have already been installed on your system. MacPorts should be installed into the default location /opt/local. If your installed location is different from the default one, then you must adjust the path in the instructions below to use the location of your MacPorts installation. If MacPorts is not yet installed on your system, then please first follow the instructions on the MacPorts web site (https://www.macports.org/install.php) before continuing. For XCode installation, please refer to the Apple site (https://developer.apple.com/xcode/downloads/).

If EsoReflex workflows will be installed then an additional pre-requisite is the Java JDK for 1.7 or newer. This must be manually downloaded and installed from http://www.oracle.com/technetwork/java/javase/downloads/. Note: it is important that Java JDK version 1.7 or newer is installed, otherwise EsoReflex will likely fail. Be aware that when trying to use Java for the first time, you will likely see a pop-up window requesting installation of Java or redirecting you to a web-page with download and installation instructions. Make sure these are actually for Java JDK 1.7. Depending on the exact version of OS X, the pop-up might actually be pointing to an older Java version. In that case, cancel the installation and manually install from the web-page indicated above.

1) Configure the repository

To use ESO's MacPorts repository you must first configure it in MacPorts. The repository only needs to be configured once. Thus, you can immediately skip to the pipeline installation section if the repository configuration has already been done. Otherwise continue with the following steps.

The following sections indicate how to manually configure the repository. This should only be necessary for experienced users or for special circumstances. In most cases, you can automatically configure the repository by following the instructions in the Quick Start section.

Add the source ports

The first step is to add the URL ftp://ftp.eso.org/pub/dfs/pipelines/repositories/macports/ports.tar to the file /opt/local/etc/macports/sources.conf on your host machine. One will normally need administrative rights to modify the sources.conf file.

Add the package archive

Although not strictly necessary, it is possible to significantly speed up the installation procedure by using the archived binary packages that have been prebuilt for the Apple Mac platform. To use these binary packages you should follow the instructions in this section 2 and also section 3. Alternatively if you want MacPorts to compile all pipelines from scratch, then just skip to section 4 after completing section 1. Note that MacPorts might require to compile and install the packages from source anyway, if no compatible binary packages are found in the archive. However, this process is fully transparent. You will only notice a longer installation time.

To setup the binary archive you must add the following lines to the file /opt/local/etc/macports/archive_sites.conf:

name             ESO repository
type             tbz2
prefix           /opt/local
applications_dir /Applications/MacPorts
frameworks_dir   /opt/local/Library/Frameworks
urls             ftp://ftp.eso.org/pub/dfs/pipelines/repositories/macports/packages

Setup the RSA public key

One additional step is required to use the binary packages. Each package is signed with ESO's private RSA key. MacPorts will check the signature of every binary package before it tries to install it with a public key. However, MacPorts must first know about ESO's public RSA key for the check to succeed.

The public key is available from the following URL ftp://ftp.eso.org/pub/dfs/pipelines/repositories/macports/eso-pubkey.pem. One should download it to your local machine. The default location to store the key file is under /opt/local/share/macports/.

Once the key file has been downloaded it must be registered with MacPorts by adding the key's path to the /opt/local/etc/macports/pubkeys.conf file.

Synchronise the repository

Once the configuration modifications mentioned in steps 1 to 3 above have been completed, you must synchronise the Portfiles. This is accomplished by running the following command in a terminal window:

sudo port sync

Note that the synchronisation may take some time. Once it is complete, you are ready to install the pipeline packages.

The sudo commands will likely prompt for a password. If that is the case, you should type in your own account's password. If the sudo command fails with a permission denied message, then you likely do not have administrative privileges on the system. Please consult your system's administrator in such a case.

2) Installing the pipelines

To check which pipeline packages are available for installation, you should run the following command:

port list esopipe*

This will bring up a full list of packages available and their most recent version numbers that would be installed.

When you have selected a package, you use the "port install" command to install it. For example, if you want to install all pipeline packages related to X-Shooter, you simply execute the following command:

sudo port install esopipe-xshoo-all

esopipe-xshoo-all is a meta package that will pull in all child packages that contain the recipe plugins, workflows and supporting tools. It is possible to pull in a more restricted subset of packages, if you know before hand exactly what you need and do not need. Consult the descriptions of the packages with the "port info" command for details about what each package contains/provides.

Note:

  • If this is the first time a EsoReflex workflow has been installed on your machine and the X11 server was not installed before, it may be necessary to logout and log back into the computer to allow X11 to initialise. You may also have to create the path ~/Library/Logs/X11 if X11 fails to start and complains about not being able to create files under that directory.
  • If the Kepler home directory ~/.kepler exists from a previous installation of EsoReflex, the cached files under there may not be compatible with the newly installed EsoReflex version. Thus, before launching the new EsoReflex for the first time, you should backup the current Kepler directory and then remove it. This is only necessary once, the first time after installation.

3) Running EsoReflex

Once installation of the pipeline and workflows is complete, you can run them by starting EsoReflex with following command from a terminal window:

esoreflex

Remember: the appropriate wkf and esoreflex packages must be installed. The easiest is to simply install the gui or all packages. For example, for X-Shooter it would be esopipe-xshoo-gui or esopipe-xshoo-all.

A number of useful command line options are available for the esoreflex command. Such as the -n | -non-interactive option to run a workflow in batch mode. For more information, please see the help message by running the following:

esoreflex -help

4) Upgrading Pipelines

If you have previously installed a given pipeline with these instructions and a new version has been made available by ESO, you can upgrade it using the following commands:

sudo port sync
sudo port upgrade esopipe-xshoo-all

It is also possible to upgrade all the pipelines at once. In this case remember that other macports packages might be updated as well. The commands are:

sudo port sync
sudo port upgrade outdated

Trouble-shooting

This section contains some solutions and workarounds for problems that you may face when using the repository.

FTP problems

In some cases you may find that the installation procedure times out when transferring files form the FTP server. In particular for wcslib. If this is the case, it is possible there is an incorrectly configured or incompatible firewall/NAT between your host machine and the FTP server. In such a case, changing the default fetch.use_epsv flag in MacPorts from yes to no may help. This flag can be modified with the following command run in bash:

sudo sed -i -e 's|fetch\.use_epsv[[:space:]]*"yes"|fetch\.use_epsv "no"|' /opt/local/libexec/macports/lib/port1.0/portfetch.tcl

Only perform this modification if you actually experience this problem and it actually helps, otherwise you may end up with IPV6 problems instead.

To undo the modification you need to change the fetch.use_epsv flag from no to yes. This can be achieved with the following command run in bash:

sudo sed -i -e 's|fetch\.use_epsv[[:space:]]*"no"|fetch\.use_epsv "yes"|' /opt/local/libexec/macports/lib/port1.0/portfetch.tcl

py27-cairo problems

If you see the following error message when trying to install one of the ESO pipeline packages:

Error: org.macports.archivefetch for port py27-cairo returned: cairo must be installed with +x11 and without +quartz.
Error: Failed to install py27-cairo

then this is due to a bug in the Portfile of the py27-cairo package.

The workaround is to force the installation of this package with the following command:

sudo port -f install py27-cairo

Once this command completes successfully, you can attempt to install the ESO pipeline package again as per normal.