esoreflex and pipelines on macOS :: known issues
Because the ESO pipelines are managed on a yearly release cycle but MacPorts is subject to continuous evolution, it happens that some issues can arise during installation and or execution of the pipelines, usually because the pipeline software is not compatible with the newer versions of software packages provided by MacPorts.
Here we attempt to keep track of such issues, and provide workarounds where possible.
- esoreflex :: MacPorts java dependency updated to java-21
- esoreflex :: general problems with GUI display
esoreflex :: MacPorts java dependency updated to java-21
Since MacPorts esoreflex version 2.11.5_23
Runtime: esoreflex fails to start
When starting esoreflex the following error message appears:
And with the following lines amongst the terminal output:
[run] java.io.IOException: Failed to get field handle to set library path
[run] Command failed
To fix this, please do the following:
sudo port -f uninstall esoreflex
cd /opt/local/var/macports/sources/ftp.eso.org/pub/dfs/pipelines/repositories/stable/macports/ports
sudo sed -i '' -e 's@openjdk..@openjdk11@' -e 's@java_home -v ..@java_home -v 11@' science/esoreflex/Portfile
cd
sudo port install esoreflex
esoreflex should then start and run normally.
esoreflex :: general problems with GUI display
Since Public Release 2022 and still in the Current Release...
Runtime: general problems with GUI displays [for matplotlib version >= ~3.6]
esoreflex seems to be becoming less and less compatible with each new version of the Python package matplotlib. The main problems are:
- the Interactive Navigation bar disappears
- the display and various "sizing and alignment problems" in the Recipe Parameters panel on the right side of GUI windows
see screenshots:

No matplotlib Navigation bar in the top left corner and no problems with the Recipe Parameter fields.

The matplotlib Navigation bar in the top left corner has been re-enabled and the Recipe Parameter fields in the right-hand side of the window are correctly (or at least better) presented.
While we work on a permanent fix for this, the following workarounds are available for MacPorts and install-script installations:
MacPorts installations
Execute the following commands:
bash
cd /tmp
curl https://ftp.eso.org/pub/usg/esoreflex/fix_esoreflex.tgz | tar -zxvf -
cd fix_esoreflex-*
sudo bash ./reinstall_esoreflex
Homebrew installations
Execute the following commands:
bash
cd $(brew config | grep ^HOMEBREW_PREFIX: | awk '{print $2}')
cd Cellar/esoreflex/*/share/esoreflex
curl https://ftp.eso.org/pub/usg/esoreflex/fix_esoreflex.tgz | tar -zxf -
for P in fix_esoreflex-*/files/* ; do patch -p0 <$P ; done
install-script installations
Execute the following commands:
bash
cd <esoreflex_install_dir>
cd esoreflex*
curl https://ftp.eso.org/pub/usg/esoreflex/fix_esoreflex.tgz | tar -zxf -
for P in fix_esoreflex-*/files/* ; do patch -p0 <$P ; done
where <esoreflex_install_dir> is the install subdirectory of the directory where you ran the install_esoreflex script.