How To Install CCA Fedora
Fedora 8
Unlike installing on Fedora 9, the CCA tools install process is fairly painless on Fedora 8. Before starting, make sure that you have the following programs installed on you machine,
| gcc | 4.1.2 |
| g++ | 4.1.2 |
| python | 2.5.1 |
| java | 1.7.0 |
| gfortran | 4.1.2 |
In addition, you should have a version of tclsh in your path.
Fedora 9
Fedora 9 comes with gcc 4.3 which causes problems with the CCA build. In particular with the packages: spec_neo, spec_babel, and ccaffeine. With version 4.3, the GNU folks cleaned-up many of the include files, by removing unnecessary includes. For instance cstring is no longer included within string. This generates errors that look something like, <geshi lang=bash> error: 'strcmp' was not declared in this scope </geshi> There are two fixes:
- Use an older (but not too old) version of gcc. 4.1 is a good choice, but 3.4 is too old (the babel build uses options that are apparently not available in 3.4).
- Add the appropriate include directives to the offending files. Note that there is a long list of offending files. I will provide a fixed version of the packages, and an updated contractor that knows to download these packages.
For this build I used the following:
| gcc | 4.3.0 |
| g++ | 4.3.0 |
| python | 2.5.1 |
| java | 1.6.0 |
| gfortran | 4.3.0 |
If you don't have tclsh (I didn't), install it now. Finally, after unpacking the cca-tools-contractor.tar.gz, you will need to edit two files: packages/libxml2.py, and packages/ccafe_gui.py. The versions of these packages need to be updated, as neither of the indicated versions are available. The libxml2 version should be, <geshi lang=python> libxml2_version = "2.6.31" </geshi> If you already have libxml2 installed on your system, don't bother updating this as contractor should realize this and so won't try to build it. The ccafe_gui version should be set as: <geshi lang=python> ccafe_gui_default_version = "0.5.6" </geshi>
Below is my install script for the Fedora build. This should be run from within the cca-tools-contractor at the same level as contract.py. <geshi lang=bash>
- !/bin/sh
- Location to put the CCA tools
PREFIX=$HOME/cca
- Define the compilers
CC=/usr/bin/gcc CXX=/usr/bin/g++ PYTHON=/usr/bin/python JAVA=/usr/bin/java F77=/usr/bin/gfortran F90=/usr/bin/gfortran
- Configure contractor to build the CCA tools
./contract.py --configure \
prefix=$PREFIX \
cc=$CC \
cxx=$CXX \
java=$JAVA \
f77=$F77 \
f90=$F90
- Build the CCA toolchain
./contract.py </geshi>
