CentOS
CentOS is a 100% compatible re-compilation of RedHat Enterprise Linux with all its security fixes, bugfixes and feature enhancements. Versions 2.1, 3, 4 and 5 exist and are maintained by a large group of volunteers.
32bit and 64bit versions exist for a number of platforms; most notably for Intel and compatible processors. On PC-type hardware, one should probably choose the 64bit version if the machine has more than 2GB of memory and is used for computing. The 32bit version is better for web surfing: for example, there are more 32bit Firefox plugins than 64bit ones (but of course one could manually install the 32bit Firefox on a 64bit machine).
Installation of CCP4 on a 32bit CentOS-5 machine
- If you want to configure CCP4 using --with-x , you need "yum -y groupinstall 'X Software Development'"
- Additionally you need g++, gfortran, ncurses-devel and python-devel RPMs for compilation and tcl/tk for ccp4i ("yum -y install gcc gcc-g++ gcc-gfortran ncurses-devel python-devel tcl tk")
- There exists no blt (required for ccp4i) RPM for RHEL/CentOS. So just "setenv CCP4I_TCLTK $CBIN" in include/ccp4.setup, and
source $CCP4/include/ccp4.setup mkdir $CBIN cd $CBIN ln -s /usr/bin/wish . ln -s wish bltwish ln -s /usr/bin/tclsh .
- Following Tim Grüne's advice, comment out the modification of MANPATH in $CCP4/include/ccp4.setup .
using yum to identify which package a missing file belongs to
When "make" fails (e.g. during CCP4 installation from source), it is most likely a missing file. In this case the compiler complains, giving an error message which mentions the name of the file. If the name of the file is e.g. curses.h, ask you what package the file belongs to:
yum whatprovides curses.h
The output lists a number of packages which provide files whose names end with "curses.h". Pick the one ("ncurses-devel") that lists /usr/include/curses.h, and install it with
yum -y ncurses-devel
Tips and Tricks for a 64bit installation
- create the file /etc/rpm/macros with the single line
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
This results in the type of package (i386 or x86_64) being listed for rpm and yum commands, which is very useful because one needs many libraries in both 32- and 64bit form.