Skip to the navigation links
Last modified: 26 March 2021

URL: https://cxc.cfa.harvard.edu/ciao/download/platforms.html

Platform Support


[IMPORTANT]
Python versions

CIAO 4.13 is only distributed with Python 3.7. The conda installation is compatible with Python 3.8, 3.7, or 3.6.

CIAO 4.13 is available as precompiled binaries for the following platforms:

Linux

The Linux builds are done on a CentOS 7 machine and additionally tested on Ubuntu 18.04LTS. The Linux build will not work on some older Linux operating systems, including CentOS 6 and earlier versions of Fedora or Ubuntu.

CIAO 4.13 does not run on standard installations of:

  • Any 32 bit Linux
  • Cent OS6
  • RHEL version 6 or lower
  • Any version of Windows
  • The prism application requires libselinux.so which may not be available on Slackware, Manjaro, Arch, and Sabayon. Check with the distributions package manager.
[IMPORTANT]
Windows Subsystem of Linux (WSL)

CIAO is not supported using any Linux distribution running under the Windows Subsystem for Linux (WSL). The CXC has not done any testing with this configuration.

Users attempting to use CIAO with this setup will need to install a separate X11/XWindows server for Windows. Users may also need to install the X11 libraries and device drivers for their Linux distribution and hardware. The CXC helpdesk does not provide support for this.

Mac OS

CIAO is built on macOSX 10.13 (High Sierra) and is compatible with newer versions of macOSX through Catalina (10.15).

[IMPORTANT]
macOS 11 Big Sur and M1 chip support

The CXC has done standard testing with CIAO 4.13 on macOSX 11 (Big Sur) running on an Intel x86_64 machine. We did not find any issues with either the conda edition or the ciao-install editions with this configuration, except for the matplotlib issue described below.

The CXC has also done standard testing with CIAO 4.13 on macOS 11 (Big Sur) running on the new Apple M1 chip using Apple's Rosetta2 emulation layer to provide support for this architecture. Please note:

  • conda users will need to use the Intel x86_64 edition of conda and Python. The ARM64 (M1) builds of Python available on conda-forge are not compatible.

  • There is a known issue with the version of matplotlib (3.2) which is included in the ciao-install edition. Users will need to upgrade matplotlib to make plots using sherpa.

    unix% ciao
    unix% pip install --upgrade matplotlib
    

    This affects both Big Sur and Catalina.

  • Users needing to build MARX will have better luck installing the GCC compilers since the C-LANG compiler in Big Sur has broken the standard build process (for many applications). Users can install GCC from http://hpc.sourceforge.net/

  • User may find some slight numerical differences when comparing results between x86_64 and ARM64 processors. This can affect things like wavdetect which may include|exclude sources near the significance threshold.

  • SAOImage ds9 v8.2 which is included with CIAO 4.13 works on both architectures. Users may optionally download version 8.2.1 which has been built on Big Sur running x86_64 (compatible with M1 via Rosetta2).

The CXC will be investigating porting CIAO to provide native M1 support in 2021. However, CIAO depends on a number of 3rd party software packages or off-the-shelf software (OTS) and those packages will need to be ported before we can fully evaluate the size of that project. As a result, there is no estimate for a native M1 CIAO release.

Last updated: 11 March 2021

CIAO users upgrading to macOSX Catalina may be inhibited by Apple's latest security settings which restrict some applications access to folders in users' home directories. The watchout page has some suggestions to help.


Explanation of Platform Support

The CXC's commitment to support a platform - i.e. a version of an operating system - means that we undertake to fix bugs on that system. This requires that we are able to compile CIAO from source on each platform, which is a much greater commitment than simply providing a compatible binary. Additionally, it is typically necessary to support several versions of each operating system: former, current and new.

When we support a system:

  1. We test every tool on every platform via a large number of regression tests and scripts; this requires a greater amount of time when the number of systems increases.
  2. We have to have current machines running each of these systems.
  3. We make a tarball and install it on each system; this process is never problem-free, and takes manpower and time.

As a result, we are not able to support a larger number of systems than we currently do. We gather information from users on what platforms they are running (or want to use) in order to prevent the overextension of our resources. Please contact the CXC Helpdesk if you have input you would like the CXC to consider for the next release of CIAO.