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-10-28]: the Macports package [py3XX-wxpython-4.0 @4.2.1] fails to build for Xcode-16. Xcode-16 is the only version of Xcode compatible with macOS Sequoia. It can also be installed on macOS Sonoma, though on macOS Sonoma one can also install Xcode-15 which py3XX-wxpython-4.0 will compile against.

There is a newer release of wxpython-4.0, version 4.2.2, but a "simple" update of the MacPorts py3XX-wxpython-4.0 does not solve the problem, so probably this issue is not yet fixed upstream in wxpyhton, even in version 4.2.2. In addition the py3XX-wxpython-4.0 MacPorts package currently has no maintainer, so it is not clear when this issue will be resolved.

A work aorund to allow installation of esoreflex and ESO pipelije s and workflows is to remove the dependency of esoreflex on py3XX-wxpython-4.0 and then use a *conda python environment to provide the required python environment for esoreflex (of course other python virtual environments can be used, but this is left as an exercise for "expert users"...).

bash
repo_dir=/opt/local/var/macports/sources/ftp.eso.org/pub/dfs/pipelines/repositories/stable/macports/ports
sudo sed -i '' -e 's@port:py3..-wxpython-4.0@@' ${repo_dir}/science/*/Portfile
sudo port install esopipe-<inst>-all

Obviously replace <inst> with the relevant instrument name. This should result in the installation of esoreflex and the relevant packages of the specified instrument, and all required dependencies, except py3XX-wxpython-4.0. If you have any problems at this stage, please create a ticket (and don't forget to attach the main.log file indicated in the error message from MacPorts).

Then follow the instructions on the Using *conda to provide python dependencies for esoreflex knowledgebase article to install a *conda virtual environment for esoreflex and configure esoreflex to use it.

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 

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.

Add a comment

Please log in or register to submit a comment.

Need a password reminder?