Skip to the navigation links
Last modified: 12 July 2010

URL: http://cxc-newtest.cfa.harvard.edu/ciao4.2/download/platforms.html

Platform Support


CIAO 4.2 is available for the following platforms:

Solaris 10 (SunOS 5.10)

Solaris 10 is the official version of this CIAO platform. The binaries are not compatible with earlier versions of the operating system.

The CIAO build was done on an UltraSPARC-IIIi and will not work on older CPU's such as UltraSPARC-IIe (which do not support V8+ ELF libraries). To find out your CPU Model use the command 'sysinfo' and look under the "CPU Model" entry.


Linux 32 bit and 64 bit

The Linux builds are done on a CentOS 5.3 machine and have been tested on CentOS and Fedora Core 11. Users have also reported success with these builds on Ubuntu 9.

CIAO 4.2 does not run on:

  • RHEL version 4 or lower
  • SuSE 9

The 64-bit CIAO build is in beta. It has been tested extensively, but users may still run into bugs. Concerned users can install the 32-bit Linux build on a 64-bit machine.


Mac OS X 10.5 Intel 32 bit and 64 bit

The Mac OS X Intel release is a native Intel build, compatible with any Intel Mac running 10.5 (Leopard).

The 64-bit CIAO build is in beta. It has been tested extensively, but users may still run into bugs. Concerned users can to install the 32-bit Mac OS X 10.5 build on a 64-bit machine.

Mac OS X 10.6 (Snow Leopard) is not one of the official CIAO 4.2 platforms, but it is compatible after following the Snow Leopard workaround. (Snow Leopard was not regression tested for CIAO 4.2, so it is not an official release platform.)


Mac OS X 10.4 PowerPC 32 bit

Mac OS X 10.4 PowerPC (Tiger) is the official version of this CIAO platform. CIAO is not supported on 10.5 (Leopard) PowerPC.

[Updated] The CIAO 4.2 Sherpa v2 patch is not available for the Mac OS X PPC 10.4 platform. PPC users who install CIAO 4.2 will get Sherpa v1.


Mac 10.6 Intel (Snow Leopard) Workaround

Users have reported problems with ChIPS plotting, GUI applications, and the command-line help system (ahelp), such as this error:

dyld: Library not loaded: /usr/lib/libxml2.2.dylib
Referenced from: /System/Library/Frameworks/CoreServices.framework/Versions/A/
Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
Reason: Incompatible library version: DictionaryServices requires version 10.0
.0 or later, but libxml2.2.dylib provides version 9.0.0 

This is an issue with the 32-bit CIAO build; users installing the 64-bit build should not have a library version conflict. This user-submitted workaround allows CIAO to run:

In ${ASCDS_INSTALL}/ots/lib, rename the symlink libxml2.2.dylib (which points to libxml2.2.6.31.dylib in the same directory), and then create one to /usr/lib/libxml2.2.dylib. I.e.,

cd $ASCDS_INSTALL
cd ots/lib
mv libxml2.2.dylib libxml2.2.dylib.ciao4
ln -s /usr/lib/libxml2.2.dylib

If you are installing CIAO with the ciao-install script, the help file indexing and smoke tests will fail until the workaround is done. In this case:

  1. run ciao-install, answering "n" at the "Run smoke tests?" prompt
  2. complete the Snow Leopard workaround
  3. run ciao-install a second time, answering "y" at the "Run smoke tests?" prompt

In the first run of the script, the software will be unpacked and configured, but the ahelp indexing step will fail. Running ciao-install again after the workaround will index the help files and run the smoke tests.


64-bit Machines

As of CIAO 4.2, there are 64-bit installations of the software for Linux and Mac OS X 10.5.

It is possible to install the 32-bit CIAO on these platforms as well, but the basic 32-bit libraries must be installed. The 32-bit libraries are not packaged with CIAO; the user is responsible for installing them via the package manager (e.g. yum, fink).

The names may differ slightly but here are the known packages:

  • X11
  • GL libs (Open GL or Mesa)
  • curses
  • libm
  • C libraries
  • C++ libraries
  • libz
  • pthread
  • crypt

Doing an ldd on our executables and libraries yields the following list of system libraries:. They should live in either /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

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


Last modified: 12 July 2010