Skip to main content

Known issues :: esoreflex and pipelines on macOS - Knowledgebase / Data processing and analysis software resources - ESO Operations Helpdesk

Known issues :: esoreflex and pipelines on macOS

Authors list

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.

Current Release

wxpython-4.0 fails to build

[2024-01-12]: It seems that as of the most recent update to cython in MacPorts on 2023-12-26 (from ver 0.29.36 to 3.07), the MacPorts package pyXX-wxpython-4.0 fails to build. Note, for the moment, this only affects source builds. If you install binary packages then the current pyXX-wxpython-4.0 binary packages in the MacPorts repositories still install and ESO Pipelines should also continue to install successfully.

However if you need/want to make a source installation of the pyXX-wxpython-4.0 MacPorts package, it is likely (guaranteed?) to fail, thus preventing the installation of further packages.

Unfortunately it seems that binary packages are only available from the MacPorts repositories for macOS <=13.

On the otherhand, wxpython is 'only' required for running the esoreflex workflows, so you can still successfully install the recipe packages and run the pipeline via the esorex commandline interface.

As this is not a package maintained by ESO, we can not directly fix this problem. This problem has ben fixed in wxpython, but not yet included in a release version. The fix can therefore be applied as a patch in MacPorts, see https://trac.macports.org/ticket/69058#no2.

Public Release 2022

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 

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 -  
bash
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.

Runtime: giraf python GUIs crash [for matplotlib version > 3.6]

These errors are caused by the molecfit workflow python scripts in the public version of the molecfit package being not compatible with matplotlib versions >= 3.6, as provided by MacPorts.

Workaround: 

In a terminal:

 bash
 cd /tmp
 curl https://ftp.eso.org/pub/usg/giraf/fix_giraf-2.16.11--2.16.11.39.tgz | tar -zxf -
 cd fix_giraf-2.16.11--2.16.11.39

For a MacPorts installation...

sudo bash fix_giraf-2.16.11--2.16.11.39

For non MacPorts...

bash fix_giraf-2.16.11--2.16.11.39 <esoreflex_install_dir>

Installing: cext fails to build [since release of Xcode 14.3]

This is caused by a more strict handling of coding errors (what were previously warnings are now errors) by the latest version of the Apple's CLANG compiler (version 14.0.3).

Workaround:

sudo port selfupdate
 sudo port upgrade outdated
 cd /tmp
curl -O https://ftp.eso.org/pub/usg/esoreflex/fix_cext_1.2.4_9
 sudo bash fix_cext_1.2.4_9

Then re-try installing whatever you were trying to install, e.g.:

sudo port install esopipe-xshoo-all

Installing: molecfit_third_party fails to build [since release of Xcode 14.3]

This is caused by a more strict handling of coding errors (what were previously warnings are now errors) by the latest version of the Apple's CLANG compiler (version 14.0.3).

Workaround:

sudo port selfupdate
 sudo port upgrade outdated
 sudo sed -i '' -e 's@FC=.*\}@& CC=${configure.cc}@' \
 /opt/local/var/macports/sources/ftp.eso.org/pub/dfs/pipelines/repositories/stable/macports/ports/science/molecfit_third_party/Portfile

Then re-try installing whatever you were trying to install, e.g.:

sudo port install esopipe-xshoo-all

Runtime: Molecfit python GUIs crash [for matplotlib version >= 3.7] (fixed by 2023 Public Release)

These errors are caused by the molecfit workflow python scripts in the public version of the molecfit package being not compatible with matplotlib versions >= 3.7, as provided by MacPorts.
This issue was fixed with the version 4.3.1 release fo the 2023 Public Release (May 2023).
In the meantime there are two possible work arounds until the next public release is made:

  1. Install the Experimental Molecfit version, see the MOLECFIT Experimental version knowledgebase article.
  2. Configure esoreflex to use an alternative version of python (3.9 or higher) that has a matplotlib version < 3.7 (e.g. 3.5), in this case see the Using *conda to provide python dependencies for esoreflex knowledgebase article.