(25 Sep 2017) CIAO 4.9 is not officially supported on macOS High Sierra.
CIAO 4.7 was the last CIAO release on 32bit Linux and OSX 10.6.8/10.7/10.8.
Some older versions of 64bit Linux can only run the 32bit binaries. This includes CentOS 5. These users will need to upgrade to be able to use the current version of CIAO.
By default, users will install the CIAO 4.9 pre-built binary distributions with Python 2.7. However, there are separate pre-built binary distributions available which use Python 3.5. The CIAO 4.9 Python 3.5 builds are provided as a beta-release to assist users in the eventual transition to Python 3.5. Users can select the Python 3 distribution using the --python3 flag as shown here
unix% bash ciao-install --python3
The system requirements are the same for both distributions.
CIAO 4.9 is available as precompiled binaries for the following platforms:
- Linux 64 bit
The Linux64 builds are done on a CentOS 6.8 machine and have been fully tested on CentOS 6 and Fedora 23+. The Linux64 build will not work on some older Linux operating systems, including CentOS 5 and earlier versions of Fedora.
CIAO 4.9 does not run on standard installations of:
- Any 32 bit Linux
- Cent OS5
- RHEL version 5 or lower
- Slackware Linux (missing SELinux system library)
This is the default Linux distribution and will be installed automatically on all non-Ubuntu based distributions. The following is a short list of distributions where it will be installed: Fedora, RedHat, CentOS, ScientificLinux, openSUSE, and Mageia.
- Linux Ubuntu
The Ubuntu build of CIAO, LinuxU, was built on an Ubuntu 14.04 LTS machine. It will be automatically selected for Ubuntu distributions (14.04LTS, 16.04LTS, and 16.10) as well as for distributions derived from Ubuntu such as LinuxMint 17 and LinuxMint18.
- Mac OS X, 64 bit
There are 4 binary releases for Apple, one for each OSX 10.9 (Mavericks), OSX 10.10 (Yosemite), OSX 10.11 (ElCapitan), and macOS 10.12 (Sierra).
CIAO 4.9 does not run on:
- Mac OS X 10.8 and lower
- Mac PowerPC
- Mac 32bit
X11 System Libraries
CIAO requires several X11 related system libraries to be installed. These are usually already installed on most end-user Linux machines; however, they are frequently omitted when running on "headless" clusters and Apple users need to install XQuartz separately.
Users are responsible for installing them via the package manager (e.g. yum, fink).
The names may differ slightly but here are the known packages:
- GL libs (Open GL or Mesa)
- C libraries
- C++ libraries
Doing an ldd on our executables and libraries will produce a list something like the following list of system libaries that will either be located in /lib or /usr/lib.
libncurses.so.5 libXt.so.6 libgnutls.so.13 libm.so.6 libSM.so.6 libkrb5support.so.0 libdl.so.2 libICE.so.6 libkeyutils.so.1 libstdc++.so.6 libXrandr.so.2 libresolv.so.2 libgcc_s.so.1 libXrender.so.1 libgcrypt.so.11 libc.so.6 libXinerama.so.1 libgpg-error.so.0 ld-linux.so.2 libXau.so.6 libnsl.so.1 libX11.so.6 libXdmcp.so.6 libsepol.so.1 libGLU.so.1 libdl.so.2 libz.so.1 libGL.so.1 libselinux.so.1 librt.so.1 libXmu.so.6 libcrypt.so.1 libpthread.so.0
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:
- 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.
- We have to have current machines running each of these systems.
- 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.