126
edits
m (url for mirrors for source code) |
mNo edit summary |
||
Line 5: | Line 5: | ||
This is a so-called "advanced" task. Don't attempt it unless you would rather compile your own software than use pre-compiled versions. The standard (supported) method for installing Coot is to download a pre-compiled binary, or to use the autobuild scripts: [[Coot]]. | This is a so-called "advanced" task. Don't attempt it unless you would rather compile your own software than use pre-compiled versions. The standard (supported) method for installing Coot is to download a pre-compiled binary, or to use the autobuild scripts: [[Coot]]. | ||
==Install gpp4 and other dependencies on Linux.== | |||
Instead of using ccp4-onlylibs-dev, we want to use ssm, mmdb, gpp4 and clipper packages. | Instead of using ccp4-onlylibs-dev, we want to use ssm, mmdb, gpp4 and clipper packages. | ||
Line 13: | Line 13: | ||
Install these in the order described: | Install these in the order described: | ||
===mmdb=== | |||
wget http://www.ebi.ac.uk/~keb/cldoc/downloads/mmdb-1.19.tar.gz | wget http://www.ebi.ac.uk/~keb/cldoc/downloads/mmdb-1.19.tar.gz | ||
./configure --prefix=/usr/local/xtal --includedir=/usr/local/xtal/include | ./configure --prefix=/usr/local/xtal --includedir=/usr/local/xtal/include | ||
Line 19: | Line 19: | ||
make install | make install | ||
===ssm=== | |||
wget ftp://ftp.bioxray.au.dk/pub/mok/src/ssm-0.1.tar.gz | wget ftp://ftp.bioxray.au.dk/pub/mok/src/ssm-0.1.tar.gz | ||
CPPFLAGS=-I/usr/local/xtal/include ./configure --prefix=/usr/local/xtal --includedir=/usr/local/xtal/include | CPPFLAGS=-I/usr/local/xtal/include ./configure --prefix=/usr/local/xtal --includedir=/usr/local/xtal/include | ||
Line 25: | Line 25: | ||
make install | make install | ||
===gpp4=== | |||
wget ftp://ftp.bioxray.au.dk/pub/mok/src/gpp4-1.0.4.tar.gz | wget ftp://ftp.bioxray.au.dk/pub/mok/src/gpp4-1.0.4.tar.gz | ||
CPPFLAGS=-I/usr/local/xtal/include ./configure --prefix=/usr/local/xtal --includedir=/usr/local/xtal/include | CPPFLAGS=-I/usr/local/xtal/include ./configure --prefix=/usr/local/xtal --includedir=/usr/local/xtal/include | ||
Line 31: | Line 31: | ||
make install | make install | ||
===fftw=== | |||
We need to compile fftw in a way that differs from that used to make the standard linux distribution of fftw. So to do that, we will install our own in /usr/local/xtal/lib, so it will remain hidden from the rest of the system, unless directed to look for it there. | We need to compile fftw in a way that differs from that used to make the standard linux distribution of fftw. So to do that, we will install our own in /usr/local/xtal/lib, so it will remain hidden from the rest of the system, unless directed to look for it there. | ||
ftp://ftp.fftw.org/pub/fftw/old/fftw-2.1.5.tar.gz | ftp://ftp.fftw.org/pub/fftw/old/fftw-2.1.5.tar.gz | ||
Line 38: | Line 38: | ||
make install | make install | ||
===clipper=== | |||
wget http://www.ysbl.york.ac.uk/~cowtan/clipper/clipper20ac.latest.tar.gz | wget http://www.ysbl.york.ac.uk/~cowtan/clipper/clipper20ac.latest.tar.gz | ||
CPPFLAGS=-I/usr/local/xtal/include ./configure --prefix=/usr/local/xtal --includedir=/usr/local/xtal/include -enable-shared --with-gpp4=/usr/local/xtal --with-mmdb=/usr/local/xtal --with-fftw=/usr/local/xtal --enable-mmdb --enable-minimol --enable-cif --enable-cns --enable-gpp4 | CPPFLAGS=-I/usr/local/xtal/include ./configure --prefix=/usr/local/xtal --includedir=/usr/local/xtal/include -enable-shared --with-gpp4=/usr/local/xtal --with-mmdb=/usr/local/xtal --with-fftw=/usr/local/xtal --enable-mmdb --enable-minimol --enable-cif --enable-cns --enable-gpp4 | ||
Line 51: | Line 51: | ||
==Make sure the other needed dependencies are installed== | |||
These include at least the following dependencies: | These include at least the following dependencies: | ||
===Ubuntu packages=== | |||
A [[list of coot dependencies]] that is probably only a subset | A [[list of coot dependencies]] that is probably only a subset | ||
===Others that you have to make yourself: === | |||
[http://download.gna.org/guile-lib guile-lib] (I had to compile this myself as described below) | [http://download.gna.org/guile-lib guile-lib] (I had to compile this myself as described below) | ||
Line 78: | Line 78: | ||
This puts stuff into /usr, rather than /usr/local or /usr/local/xtal, which you might not want to do. The aim is to eventually get these into the standard system distribution, in which case they will reside in /usr with the other guile extensions. All of these should work with guile-1.8. | This puts stuff into /usr, rather than /usr/local or /usr/local/xtal, which you might not want to do. The aim is to eventually get these into the standard system distribution, in which case they will reside in /usr with the other guile extensions. All of these should work with guile-1.8. | ||
==Configuring and building coot == | |||
===Start a root shell session=== | |||
If root is enabled, log into a root shell, or else if you have sudo (debian, ubuntu, etc), use the command | If root is enabled, log into a root shell, or else if you have sudo (debian, ubuntu, etc), use the command | ||
Line 89: | Line 89: | ||
===Fix a configure bug=== | |||
First, issue the following command to fix a configure bug when compiling with gpp4: | First, issue the following command to fix a configure bug when compiling with gpp4: | ||
Line 95: | Line 95: | ||
perl -pi -e 's|lccp4c|lgpp4|g' configure | perl -pi -e 's|lccp4c|lgpp4|g' configure | ||
===Now configure this way: === | |||
<pre> | <pre> | ||
Line 114: | Line 114: | ||
</pre> | </pre> | ||
===Then, remake the src/coot_wrap_python.cc and src/coot_wrap_guile.cc files: === | |||
/bin/rm -f **/coot_wrap_**.cc | /bin/rm -f **/coot_wrap_**.cc | ||
Line 124: | Line 124: | ||
cd .. | cd .. | ||
===Now compile coot:=== | |||
make | make | ||
make -i install | make -i install | ||
===To make it play nice with python, I have had to do the following: === | |||
perl pi -e 's|PYTHONHOME=\$COOT_PREFIX|\#PYTHONHOME=\$COOT_PREFIX|g' bin/coot | perl pi -e 's|PYTHONHOME=\$COOT_PREFIX|\#PYTHONHOME=\$COOT_PREFIX|g' bin/coot | ||
cp src/coot.py python/. | cp src/coot.py python/. | ||
cp src/coot.py share/coot/python/. | cp src/coot.py share/coot/python/. | ||
===Now add the reference structures: === | |||
cd share/coot | cd share/coot | ||
wget http://www.ysbl.york.ac.uk/~emsley/software/coot-reference-structures.tar.gz | wget http://www.ysbl.york.ac.uk/~emsley/software/coot-reference-structures.tar.gz | ||
tar xvfz coot-reference-structures.tar.gz ; rm coot-reference-structures.tar.gz | tar xvfz coot-reference-structures.tar.gz ; rm coot-reference-structures.tar.gz | ||
=== Now add the refmac dictionaries=== | |||
(eg using coot-0.5 and refmac 5.4; change as required): | (eg using coot-0.5 and refmac 5.4; change as required): | ||
Line 147: | Line 147: | ||
cp -r dic /usr/local/xtal/coot-0.5/lib/data/monomers | cp -r dic /usr/local/xtal/coot-0.5/lib/data/monomers | ||
===Export the COOT_REFMAC_LIB_DIR variable === | |||
(you can edit bin/coot): | (you can edit bin/coot): | ||
export COOT_REFMAC_LIB_DIR=$COOT_PREFIX/lib | export COOT_REFMAC_LIB_DIR=$COOT_PREFIX/lib | ||
===Notes on the above: === | |||
The configure command is all one line; I've escaped the return. Using --prefix=$PWD simply keeps everything self-contained. You can use any install prefix you want to (it defaults to /usr/local; another sensible choice is /usr/local/xtal. Avoid /usr as a prefix, as it can mess with your system). | The configure command is all one line; I've escaped the return. Using --prefix=$PWD simply keeps everything self-contained. You can use any install prefix you want to (it defaults to /usr/local; another sensible choice is /usr/local/xtal. Avoid /usr as a prefix, as it can mess with your system). | ||
Line 158: | Line 158: | ||
---- | ---- | ||
==If you want to make it portable== | |||
You don't need to do this to run coot; this is only handy if you need to redistribute it (or make say a debian package). | You don't need to do this to run coot; this is only handy if you need to redistribute it (or make say a debian package). |
edits