Installing CIAO 4.0
![[CXC Logo]](../../imgs/cxc-logo.gif)
CIAO 4.0 Science Threads
OverviewLast Update: 16 Apr 2008 - updated to include CIAO 4.0.2 patch instructions; location of CIAO alias updated for bash users Synopsis: How to install version 4.0 of CIAO, the Chandra Interactive Analysis of Observations software package. This information is also available in the INSTALL_BINARY file that is packaged with CIAO. You are not required to install the CIAO 4.0.1 patch before updating to CIAO 4.0.2. Version 4.0.1 may be skipped if you do not use the ObsVis proposal planning tool. This thread does not explain how to re-compile CIAO yourself. Refer to the INSTALL_SOURCE file for information on that process. Related Links:
|
Contents
- System Requirements
- Downloading the Software
- CALDB
- Installing the CIAO Software
- Overlay the CIAO 4.0.1 patch (Optional)
- Overlay the CIAO 4.0.2 patch (Mac OS X Intel only)
- Contributed Science Scripts
- Create the Help File Indexes
- Run the Smoke Tests
- Clean Up the Tarfiles
- Notes
- Summary
- History
System Requirements
CIAO is supported on a number of operating systems, which are listed on the Platform Support page. Certain system requirements are necessary to successfully install and run CIAO; review these system requirements before continuing with the installation.
Downloading the Software
To install CIAO, you need the following packages from the CIAO download pages:
-
Binaries: ciao-4.0-bin-<component>-<OSname>.tar.gz
Contains the CIAO tools, libraries, parameter files, and help files. Also contains the pre-compiled off-the-shelf (OTS) programs required to run CIAO. There are five components in CIAO 4.0: core, tools, chips, sherpa, and obsvis.
CIAO 4.0.1 (optional, all platforms): there is a platform-independent patch for the ObsVis proposal planning tool: ciao-4.0.1-bin-obsvis.tar.gz. This is an optional installation.
CIAO 4.0.2 (Mac OS X 10.5 Intel): to run CIAO on 10.5 (Leopard), you must install the CIAO 4.0.2 patch as well. The patch is optional for 10.4 (Tiger) Intel machines. The patch files are:
ciao-4.0.2-patch-bin-chips-osxi.tar.gz ciao-4.0.2-patch-bin-core-osxi.tar.gz ciao-4.0.2-patch-bin-obsvis-osxi.tar.gz ciao-4.0.2-patch-bin-tools-osxi.tar.gz
-
Chandra Calibration Database (CALDB)
-
Contributed science scripts: CIAO_4.0_scripts.tar
Save the tarfiles to a location that is accessible from where you wish to install CIAO. These files were used to install CIAO on a Fedora Core machine:
unix% ls -1 CIAO_4.0_scripts.tar acis_bkgrnd_3.0.0.tar.gz caldb_3.4.2_main.tar.gz ciao-4.0.1-bin-obsvis.tar ciao-4.0-bin-chips-fc4.tar.gz ciao-4.0-bin-core-fc4.tar.gz ciao-4.0-bin-obsvis-fc4.tar.gz ciao-4.0-bin-sherpa-fc4.tar.gz ciao-4.0-bin-tools-fc4.tar.gz
CALDB
It is suggested that you install the CALDB before starting the CIAO installation, as CIAO has to be linked to the location of those files. Installation instructions are available on the CALDB website:
For this thread, we assume that the database is installed in the /soft directory:
/soft/CALDB/
Installing the CIAO Software
1. Unzip the files
First we have to uncompress all the gzip'ed files:
unix% gunzip *gz
This process will take a few minutes. When gunzip is done running, there will only be .tar files in the directory:
unix% ls -1 CIAO_4.0_scripts.tar ciao-4.0.1-bin-obsvis.tar ciao-4.0-bin-chips-fc4.tar ciao-4.0-bin-core-fc4.tar ciao-4.0-bin-obsvis-fc4.tar ciao-4.0-bin-sherpa-fc4.tar ciao-4.0-bin-tools-fc4.tar
2. Choose a CIAO installation directory
The CIAO 4.0 tarfiles create a directory named ciao-4.0 for the software installation. It is not necessary to create the CIAO directory before starting the installation.
Move to the directory in which you would like the root of the CIAO installation to be located. If you are installing the software for a local network, this directory must also be visible to all potential CIAO users. CIAO does not need to be installed by the root user.
This installation will be done in the /soft directory:
unix% cd /soft/
3. Unpack CIAO 4.0
From the CIAO location just chosen, untar the CIAO 4.0 binary packages. (If you prefer more screen output, add the "v" option to the tar command.)
Remember that Solaris users must use GNU tar, as shown in this example. Users on other platforms can use "tar".
The CIAO patch files are not unpacked in this step.
unix% pwd /soft unix% gtar xf /some/path/ciao-4.0-bin-chips-fc4.tar unix% gtar xf /some/path/ciao-4.0-bin-core-fc4.tar unix% gtar xf /some/path/ciao-4.0-bin-obsvis-fc4.tar unix% gtar xf /some/path/ciao-4.0-bin-sherpa-fc4.tar unix% gtar xf /some/path/ciao-4.0-bin-tools-fc4.tar
When all the files are unpacked, the CIAO directory will look like:
unix% ls ciao-4.0 bin/ doc/ param/ binexe/ help/ quickhelp/ config/ include/ README config.guess* INSTALL_BINARY README.cycle9 config.h.in install-sh* README.obsvis config.sub* INSTALL_SOURCE share/ configure* lib/ test/ configure.in* LICENSE VERSION COPYING* LICENSE.SAO VERSION.prop_tk COPYING.LIB* Makefile data/ ots/
4. Run the configuration script
Run the CIAO configuration script:
unix% cd ciao-4.0/ unix% ./configure Running CXC configure, v4.2.5 checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for more... /bin/more checking for main in -lpthread... no --with-imagerdir not specified, defaulting to /soft/ciao-4.0/ots/bin configure: creating ./config.status config.status: creating config/system/CXCdefaults config.status: creating bin/ciao_setup.sh config.status: creating bin/ciao.sh config.status: creating bin/ciao.csh config.status: creating bin/ciao.ksh config.status: creating bin/ciao.bash config.status: creating test/smoke/bin/setup.sh config.status: creating test/Makefile
5. Link to CALDB
Create a link to the calibration data, changing the path to match your system installation:
unix% pwd /soft/ciao-4.0/ unix% ln -s /soft/CALDB CALDB
At this point, your directory should look like:
unix% ls bin/ data/ Makefile binexe/ doc/ ots/ config/ help/ param/ config.guess* include/ quickhelp/ config.h.in INSTALL_BINARY README config.sub* install-sh* README.cycle9 configure* INSTALL_SOURCE share/ configure.in* lib/ test/ COPYING* LICENSE VERSION COPYING.LIB* LICENSE.SAO VERSION.prop_tk
6. Create a CIAO alias
It is strongly suggested that you create a CIAO alias in your $HOME/.cshrc (csh and tcsh), $HOME/.login (sh and ksh), or $HOME/.bash_profile (bash - may also be named .bash_login or .profile) file. Instructions on how to do so are given in the Running CIAO section of the Starting CIAO thread.
Mac OS X users: the CIAO setup scripts require that xrdb, the X server resource database utility, be in the path. Mac users may need to manually add this program, usually located in the /usr/X11R6/bin directory, to the PATH environment variable. This should be included in the startup file along with the CIAO alias.
Once the alias is defined, you will be able to simply type
unix% ciao
and CIAO will be setup and ready to use in that window.
Overlay the CIAO 4.0.1 patch (Optional)
The 4.0.1 patch is installed from the same location as the CIAO installation. In our example, this directory is /soft/; if you do not recall where your root directory is, start CIAO and type:
unix% cd $ASCDS_INSTALL unix% cd .. unix% pwd /soft/
From this directory, untar the patch file:
unix% tar xf /some/path/ciao-4.0.1-bin-obsvis.tar
Next, run the patch configuration script:
unix% cd ciao-4.0/ unix% ./configure Running CXC configure, v4.2.6 checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for more... /bin/more checking for main in -lpthread... no --with-imagerdir not specified, defaulting to /soft/ciao-4.0/ots/bin configure: creating ./config.status config.status: creating config/system/CXCdefaults config.status: creating bin/ciao_setup.sh config.status: creating bin/ciao.sh config.status: creating bin/ciao.csh config.status: creating bin/ciao.ksh config.status: creating bin/ciao.bash config.status: creating bin/setup_obsvis.sh config.status: creating bin/setup_obsvis.csh config.status: creating test/smoke/bin/setup.sh config.status: creating test/Makefile
The 4.0.1 patch is now installed. When you start CIAO, the version number indicates this:
CIAO configuration is complete... CIAO version : CIAO 4.0.1 Thursday, February 14, 2008 Proposal Toolkit version : Cycle 10 Thursday, December 6, 2007 bin dir : /soft/ciao-4.0/bin
Overlay the CIAO 4.0.2 patch (Mac OS X Intel only)
The CIAO 4.0.2 patch is for Mac OS X Intel machines only. It is required for 10.5 (Leopard) and optional for 10.4 (Tiger).
The patch unpacks into the "ciao-4.0" directory where CIAO is installed. In our example, this directory is located within /soft/; if you do not recall where your CIAO installation directory is, start CIAO and type:
unix% cd $ASCDS_INSTALL unix% cd .. unix% pwd /soft/
From this directory, untar the patch files:
unix% tar xf /some/path/ciao-4.0.2-patch-bin-chips-osxi.tar unix% tar xf /some/path/ciao-4.0.2-patch-bin-core-osxi.tar unix% tar xf /some/path/ciao-4.0.2-patch-bin-obsvis-osxi.tar unix% tar xf /some/path/ciao-4.0.2-patch-bin-tools-osxi.tar
Next, run the patch script.
unix% cd ciao-4.0/ unix% ./ciao_patch.sh
This installs the updated CIAO files in the correct directories. The files that are replaced are renamed ".<filename>_CIAO_4.0"; refer to the 4.0.2 README for more information.
Run the CIAO configuration script again:
Running CXC configure, v4.2.6 checking build system type... i386-apple-darwin9.2.2 checking host system type... i386-apple-darwin9.2.2 checking target system type... i386-apple-darwin9.2.2 checking for more... /usr/bin/more checking for main in -lpthread... no --with-imagerdir not specified, defaulting to /export/ciao-4.0/ots/bin configure: creating ./config.status config.status: creating config/system/CXCdefaults config.status: creating bin/ciao_setup.sh config.status: creating bin/ciao.sh config.status: creating bin/ciao.csh config.status: creating bin/ciao.ksh config.status: creating bin/ciao.bash config.status: creating bin/setup_obsvis.sh config.status: creating bin/setup_obsvis.csh config.status: creating test/smoke/bin/setup.sh config.status: creating test/Makefile
The patch is now installed. When you start CIAO, the version number indicates this:
CIAO configuration is complete... CIAO version : CIAO 4.0.2 Friday, March 28, 2008 Proposal Toolkit version : Cycle 10 Thursday, December 6, 2007 bin dir : /soft/ciao-4.0/bin
Contributed Science Scripts
The contributed science scripts are written and maintained by local CIAO users at the CXC. More information on each of the scripts is available from the CIAO 4.0 Contributed Scripts Page. Check that page for announcements about new scripts and updates to existing ones.
The CIAO_4.0_scripts.tar file is designed to be unpacked in $ASCDS_INSTALL, the root directory of the CIAO installation. In our example, this directory is /soft/ciao-4.0; if you do not recall where your root directory is, start CIAO and type "cd $ASCDS_INSTALL" to get there.
unix% cd /soft/ciao-4.0
Since this is a new CIAO directory (i.e. not a patch to an existing version of CIAO), we do not need to worry about uninstalling old scripts.
Unpack the script tarfile:
unix% tar xvf /some/path/CIAO_4.0_scripts.tar contrib/Changes.CIAO_scripts contrib/README_CIAO_scripts contrib/VERSION.CIAO_scripts ... contrib/bin/tg_bkg contrib/doc/xml/tg_bkg.xml contrib/uninstall_4.0_scripts
The tarfile contains a VERSION.CIAO_scripts file. Compare the timestamp in this file to the "Last Updated" date on the Scripts page to determine when you need to update your local scripts installation.
Create the Help File Indexes
In order for CIAO to be able to access the help files packaged with the software, it is necessary to create the ahelp database indexes. This step must be run by the user who owns the CIAO installation.
Start CIAO and run ahelp -r:
unix% ciao CIAO configuration is complete... CIAO version : CIAO 4.0.1 Thursday, February 14, 2008 Proposal Toolkit version : Cycle 10 Thursday, December 6, 2007 bin dir : /soft/ciao-4.0/bin unix% ahelp -r Processing file '/soft/ciao-4.0/doc/xml/ChipsId.xml'...OK Processing file '/soft/ciao-4.0/doc/xml/Attributes.xml'...OK Processing file '/soft/ciao-4.0/doc/xml/ChipsDictionary.xml'...OK .... Processed Files : 744 Succeeded Files : 744 Failed Files : 0 Purged Duplicates: 0 Creating Key Indexes...DONE Subject DB Size: 1200 Creating Context Indexes...DONE Context DB Size: 1200 Creating Crossreference DB...DONE Crossreferences DB Size: 13991 Creating Seealso DB...DONE Seealso DB Size: 1569
Run the Smoke Tests
A set of smoke tests are packaged with CIAO 4.0. The tests are designed to spot-check the installation for critical problems, not to run a complete regression test of the system. The output created by the new installation of CIAO is compared against a baseline set of files included in the package.
The runtime for the smoke tests varies based on platform: 5-10 minutes on a 3GHz Linux machine and on order of 30 minutes on a 1GHz Solaris machine. Some of the tests launch ChIPS windows and GUI applications, such as peg; these applications will be closed automatically when the test is complete.
unix% cd $ASCDS_INSTALL/test
unix% pwd
/soft/ciao-4.0/test
unix% make -k test |& tee ~/ciao_test.log
PATH=${PWD}/smoke/bin:${PATH} && \
export PATH && \
make test-ui test-chips test-sherpa \
test-tools test-dm test-crates
make[1]: Entering directory `/soft/ciao-4.0/test'
Running test peg-smoke001
export PATH && \
make test-ui test-chips \
test-tools test-dm test-crates
Running test ui-peg1
Successfully completed running ui-peg1
ui-peg1 completed SUCCESSFULLY
...
A successful test prints a message:
<testname> completed SUCCESSFULLY or PASS: Test <testname> completed SUCCESSFULLY
An unsuccessful test will report:
<testname> FAILED Review /tmp/smoke/<testname>/diff.log for details
The smoke tests do not currently print a summary of successful and failed tests. Review the log file or screen output to be certain that none of the tests failed.
Prism "line 5: 11900 Terminated" message
A message of this format may be seen when running the smoke tests:
Running test prism-smoke002
/soft/ciao-4.0/ots/bin/python: line 5: 11900 Terminated
${EXE} "$@"
prism-smoke002 completed SUCCESSFULLY
Despite the "Terminated" line, this test ran successfully.
Prism runs a Python process in the background to calculate data column ranges. If prism exits before the script is finished executing, prism terminates the script via a kill command. Because of the wrapping, the kill command causes the warning to be issued.
Mac OS X: "sh: line 1: kill" message
The "ui-prism2" smoketest may print this message on Mac OS X platforms:
Running test ui-prism2 sh: line 1: kill: (26687) - No such process ui-prism2 completed SUCCESSFULLY
This is caused by a kill signal being sent to a process that is already exiting, so the process id doesn't exist when the kill tries to execute. As the final line indicates, this does not affect the success of the smoke test.
Fedora Core 7: "Target 'test-chips' not remade because of errors." message
The "chips-smoke005" smoketest may print this message on Fedora Core 7 platforms:
Running test chips-smoke005 chips-smoke005 completed SUCCESSFULLY make[1]: Target `test-chips' not remade because of errors.
This test checks for cross-platform compatibility in the ChIPS state files. It fails due to a known bug that the Fedora Core 7 build of ChIPS can't load state files made on a Mac.
The ChIPS installation will work properly, other than this limitation on state files.
Clean Up the Tarfiles
Finally, you may delete the tarfiles from the original download directory:
unix% rm /some/path/ciao*tar unix% rm /some/path/CIAO_4.0_scripts.tar
Notes
Solaris: "@LongLink" file
If a file named "@LongLink" is created when the tarfiles are unpacked on Solaris, it is an indication that tar was used instead of GNU tar ("gtar").
As noted in the System Requirements section, Solaris users must use gtar to unpack the files. If native Solaris tar is used, some of the test filenames will be truncated.
Known Conflicts
There are some known conflicts between CIAO and other software or system libraries and tools. They are documented in the following webpages:
Usage and Licensing
All non-OTS source code will be freely available in support of any CIAO release. The software is subject to Smithsonian Institution Copyright, a statement of which can be found in the headers of the source files, as well as at $ASCDS_INSTALL/LICENSE.SAO.
CIAO 4.0 is further governed by the GNU General Public License ($ASCDS_INSTALL/COPYING) and/or the GNU Library General Public License ($ASCDS_INSTALL/COPYING.LIB), both of which are bundled with the software.
Summary
The CIAO installation is now complete. For help getting started with the software, read the Introductory science threads.
History
| 12 Aug 2005 | original version, new for CIAO 3.2.2 |
| 14 Nov 2005 | updated for CIAO 3.3: added Linux8 package: renaming libgcc_s.so.1 and Mac OS X 10.2: Using ds9 v3.0.3 notes. |
| 12 Jan 2006 | updated to include CIAO 3.3.0.1 patch instructions |
| 01 Dec 2006 | updated for CIAO 3.4 and CALDB 3.3.0 |
| 29 Jan 2007 | updated to include CIAO 3.4.1[.1] patch instructions |
| 14 Dec 2007 | updated for CIAO 4.0: tarfile creates a directory into which it unpacks; CIAO is shipped with gzip support enabled (no longer need to specify an option in the configure step); smoke tests are included in the AUX tarfile; CALDB 3.4.2 is used |
| 21 Feb 2008 | updated to include CIAO 4.0.1 patch instructions |
| 26 Feb 2008 | consistently use "/soft" as the installation directory |
| 05 Mar 2008 | renamed "Reindexing the Help Files" section to "Create the Help File Indices" |
| 10 Mar 2008 | system requirements moved to a separate page; "Create the Help File Indices" should be "Create the Help File Indexes"; CIAO does not need to be installed by the root user; "ahelp -r" must be run as user who owns installation; Mac users need to add xrdb to the PATH; FC7 expected smoke test failure |
| 16 Apr 2008 | updated to include CIAO 4.0.2 patch instructions; location of CIAO alias updated for bash users |
