How To Install CCA

=== Installing the CCA Tools ===
This page describes how to install the collection of Common Component Architecture tools. If you haven't downloaded the installer, you can use the link below to get started. After doing so, please read the rest of the document to learn how to build, and install the complete CCA tools package.
* Download the CCA tools installer
=== System and Software Requirements ===
Supported Operating Systems:
* OS X v10.5.x
* Fedora 8 and 9
* Ubuntu 7 and 8
* Solaris 5.8
This most likely is not an exclusive list. The CCA tools have been successfully installed on each of the these operating systems. Really, most any flavor of Unix should work. If you are installing on one of these operating systems, please read the OS-specific instructions by following the above links. If you are installing on another OS, please pass along any information about problems/successes to me or create a new wiki page to help others with their install.
Required software:
* GNU compilers: gcc, g++, and gfortran (>4.0, but less than 4.3)
* Java (1.5)
* Python (>2.3) with either Numeric 24.2 or numpy (preferred). If you have neither, install numpy.
* Bourne shell
* tclsh
Note that you can do without Fortran or Python but if they are excluded, babel will not be able to build bindings for those languages.
=== Configure ===
Unpack the installer,
<geshi lang=bash>
> tar xvfz cca-tools-contractor.tar.gz
</geshi>
This creates the directory `cca-tools-contractor` that contains the necessary installer, called contractor.
Move into the `cca-tools-contractor` directory to configure the build system. This is done by running `./contract.py` with the appropriate flags that specify the location of your various compilers and the final installation directory. If you are lucky, and have all of your compiler in the usual places, the following command should configure your installation,
<geshi lang=bash>
> ./contract.py --configure
</geshi>
However, more than likely you will have to tell contractor where to find your various compilers and where to put cca. The following command provides an example,
<geshi lang=bash>
> ./contract.py --configure 
 prefix=/usr/local/cca
 python=/usr/bin/python
 java=/usr/bin/java 
 cc=/usr/bin/gcc-4.0
 cxx=/usr/bin/g++-4.0 
 f77=/usr/local/gnu/bin/gfortran
 f90=/usr/local/gnu/bin/gfortran
</geshi>
This specifies where to install CCA on your machine (/usr/local/cca, in this example), and the location of various compilers. You are free to install cca wherever you like. If you do not have write permission in /usr/local or would like to install it in your home directory, for instance, simply set prefix to that path . Note that your compilers may be in different locations. If this does not work exactly as presented for your particular machine, please refer to the specific OS notes that follow. 
For help on the various options of contractor type,
<geshi lang=bash>
> ./contract.py --help
</geshi>
You are now ready to build and install the CCA tools.
=== Build/Install ===
If everything has been configured properly, the build should be easy (just a little time consuming). Before going further, make sure that your install directory exists and that you can write to it. To build and install the CCA tools,
<geshi lang=bash>
> ./contract.py
</geshi>
This will download, build, and install the required packages. Installed packages include,
* babel
* bocca
* boost
* ccafe_gui
* ccaffeine
* chasm-1.4
* spec_babel
* spec_classic
* spec_neo
After the installation process is complete, it's a good idea to double-check that babel has been compiled to generate the bindings you want it to. Sometimes the babel configure process will silently disable certain bindings. Use the babel-config command (located in the bin directory under your install location) to check this:
<geshi lang=bash>
> babel-config --with-bindings
c c++ f77 f90 java python
</geshi>
This prints a list of all supported language bindings. If you don't see all of the languages you expect, please have a look at the troubleshooting section.
If you successfully build CCA on your machine, please add it to the list of successful build platforms (if it's not already there). If you are unsuccessful, please submit it as an issue to me.
=== Troubleshooting ===
If your install doesn't go smoothly, please make sure to check any OS-specific instructions that apply to you. If that doesn't help, check the problems page. If you still can't get the CCA tools installed, please send an email to me that explains your problem.