Installing coot from subversion ( on ubuntu)

From $1

UPdated notes on installing are at this page also on this wiki

First download the subversion trunk from google code as stated on the google code Coot Source page

svn checkout http://coot.googlecode.com/svn/trunk/ coot-read-only

This creates a directory coot-read-only whereever you issued the above command

Install the packages as described at this page and in the README  . On ubuntu you would use the "sudo apt-get install patch

From a fresh ubuntu install, you also need to install:

 patch
 m4
 g++
 libxext6-dev
 libc6-dev
 libglu1-mesa-dev
 mesa-common-dev
 swig 
 libgtkglext1-dev ( added to list in README)
 libgtk2.0-dev ( added to list in README ) 
 libgnomecanvas2-dev (added to list in README)

 

After this please us ethe simple autobuild script as describes at the ccp4 wiki:

Briefly:

export AUTOBUILD_INSTALLED=${HOME}/autobuild/coot
export AUTOBUILD_BUILD=${HOME}/autobuild/
export LOGS=$AUTOBUILD_BUILD/logs
export NIGHTLY_DEST_DIR=$AUTOBUILD_BUILD
export STABLE_DEST_DIR=$AUTOBUILD_BUILD
export build_coot_prerelease=1

bash build-it-gtk2-simple python > build.log

If all goes well coot responds:hari@charlie:~/coot-read-only$ bash build-it-gtk2-simple python > build3.log
--15:15:51--  http://www.ysbl.york.ac.uk/~emsley/b...gs/build-notes
           => `build-notes'
Resolving www.ysbl.york.ac.uk... 144.32.72.243
Connecting to www.ysbl.york.ac.uk|144.32.72.243|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7,039 (6.9K) [text/plain]

100%[=====================================================================================================================================>] 7,039         --.--K/s            

15:15:51 (71.45 KB/s) - `build-notes' saved [7039/7039]

build-it-gtk2-simple: line 1083: domainname: command not found
guile-config - Guile version 1.8.5
Python 2.6
BUILDING coot: version coot-0.6-pre-1-revision-1847, python=yes
--15:15:54--  http://www.ysbl.york.ac.uk/~emsley/s...on-1847.tar.gz
           => `/home/hari/autobuild//sources/coot-0.6-pre-1-revision-1847.tar.gz'
Resolving www.ysbl.york.ac.uk... 144.32.72.243
Connecting to www.ysbl.york.ac.uk|144.32.72.243|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10,222,101 (9.7M) [application/x-gzip]

100%[=====================================================================================================================================>] 10,222,101   533.53K/s    ETA 00:00

15:16:13 (518.30 KB/s) - `/home/hari/autobuild//sources/coot-0.6-pre-1-revision-1847.tar.gz' saved [10222101/10222101]

BUILDING coot: version coot-0.6-pre-1-revision-1847, python=yes
coot build was good.
done coot build.
 

 

This installs a coot binary into the directory mentioned in the AUTOBUILD_BUILD directory in the subdirectory

AUTOBUILD_BUILD=${HOME}/autobuild/
In my case coot is installed in the $HOME/autobuild/coot-Linux-x86_64-ubuntu-8.04.2-gtk2-python/bin
In newer versions the directory changed to $HOME/autobuild/coot-pre-release-gtk2-python/bin/coot. 
SO please update the command used to run coot appropriately

Regular updates

After the initial build . to update coot regularly. change diorectories into the coot-read-only directory into which you checkedout the tree ( in step one above) -

svn checkout http://coot.googlecode.com/svn/trunk/ coot-read-only
                                                        |
                                                        V
                                                    cd into this directory 

and issue the command (svn update)

 

svn update

You should see

me@mymachine:~/coot-read-only$ svn update
U    src/c-interface-preferences.cc
U    src/callbacks.c
U    bldnotes
U    coot-gtk2.glade
Updated to revision 1936.

Now you can just re-run the build as indicated above

bash build-it-gtk2-simple python > build.log

 

Trouble shooting regular updates

Every once in a while . the automatic update indicated above fails . Because something has changed and you need to re-compile everything . for eg. you may see a message such as

error: cannot open Packages index using db3 - No such file or directory (2) error: cannot open Packages database in /var/lib/rpm rpm: To install rpm packages on Debian systems, use alien. See README.Debian. error: cannot open Packages index using db3 - No such file or directory (2) error: cannot open Packages database in /var/lib/rpm rpm: To install rpm packages on Debian systems, use alien. See README.Debian. error: cannot open Packages index using db3 - No such file or directory (2) error: cannot open Packages database in /var/lib/rpm --02:14:24--  http://www.ysbl.york.ac.uk/~emsley/build-logs/build-notes            => `build-notes' Resolving www.ysbl.york.ac.uk... 144.32.72.243 Connecting to www.ysbl.york.ac.uk|144.32.72.243|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 7,039 (6.9K) [text/plain]  100%[====================================>] 7,039         --.--K/s              02:14:25 (58.94 KB/s) - `build-notes' saved [7039/7039]  ./build-it-gtk2-simple: line 1084: domainname: command not found sh: glib-config: not found sh: glib-config: not found sh: glib-config: not found guile-config - Guile version 1.8.5 Python 2.6 BUILDING coot: version coot-0.6-pre-1-revision-1936, python=yes --02:14:28--  http://www.ysbl.york.ac.uk/~emsley/software/pre-release/coot-0.6-pre-1-revision-1936.tar.gz            => `/home/hari/autobuild//sources/coot-0.6-pre-1-revision-1936.tar.gz' Resolving www.ysbl.york.ac.uk... 144.32.72.243 Connecting to www.ysbl.york.ac.uk|144.32.72.243|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 10,841,622 (10M) [application/x-gzip]  100%[====================================>] 10,841,622   636.85K/s    ETA 00:00  02:14:46 (613.58 KB/s) - `/home/hari/autobuild//sources/coot-0.6-pre-1-revision-1936.tar.gz' saved [10841622/10841622]  BUILDING coot: version coot-0.6-pre-1-revision-1936, python=yes coot build failed, exiting. 

The coot build logs that hep you troubleshoot this are located in $AUTOBUILD_BUILD/logs and more importantly in the $AUTOBUILD_BUILD/logs/gtk2-gcc-4.2.4_and_g++-4.2.4/16-coot.txt

 

SO look for the 16-coot.txt in the $AUTOBUILD_BUILD directory

hari@hj-ubuntu41:~/autobuild$ cd $AUTOBUILD_BUILD
hari@hj-ubuntu41:~/autobuild$ find ./* -name "16-coot.txt"
./logs/gtk2-gcc-4.2.4_and_g++-4.2.4/16-coot.txt

And the bottom of that file may contain the reason for the failed build

me@myubuntu41:~/autobuild$ tail -f ./logs/gtk2-gcc-4.2.4_and_g++-4.2.4/16-coot.txt
checking for pkg-config... /usr/bin/pkg-config
checking for GtkGLExt - version >= 1.0.0... yes (version 1.2.0)
checking for GLUT... yes
checking for MMDB... yes
checking for SSMLib... /home/hari/autobuild/coot-pre-release-gtk2-python
checking for Clipper... no
Error locating Clipper - a CNS-enabled version of Clipper (2.1-090210-ac or later) is required now
need to update libtool here /home/hari/autobuild/hj-ubuntu41_2009-03-26__T06_14_24/coot-0.6-pre-1
make: *** No targets specified and no makefile found.  Stop.
make failed.


You can see here that a "CNS enabled clipper version was not available. So you need to force the build script to recompile cns

Lts find out what convinces the script you have clipper in the first place  . Look at the script(build-it-gtk2-simple) and you will see that it looks for two files

$install_top_dir/include/clipper/ccp4/ccp4_mtz_io.h  

OR

$install_top_dir/include/clipper/contrib/sfscale.h

 

Delete either of those files to force a clipper rebuild. ( For some reason messing with the build_clipper variable in this script does not seem to force building clipper)

so we look for the ccp4_mtz_io.h file in the $AUTOBUILD_BUILD directory and delete it

me@myubuntu41:~/autobuild$ find ./* -name ccp4_mtz_io.h
./coot-pre-release-gtk2-python/include/clipper/ccp4/ccp4_mtz_io.h
./hj-ubuntu41_2009-02-06__T12_53_46/clipper-2.1/clipper/ccp4/ccp4_mtz_io.h
hari@hj-ubuntu41:~/autobuild$ echo $AUTOBUILD_INSTALLED
/home/hari/autobuild/coot

 

rm $AUTOBUILD_BUILD/coot-pre-release-gtk2-python/include/clipper/ccp4/ccp4_mtz_io.h

Then we re-run the build script. This time it forces a selective rebuild of only clipper and this should satisfy the coot build and it should proceed without any problems after that

so in the coot-read-only directory we re-run

build-it-gtk2-simple python > build.log
 

ANd this should hopefully complete as above and tell you that the build was successfull. Of course you could always change the $AUTOBUILD_BUILD and $AUTOBUILD_INSTALLED directory above to a whole "fresk" new directory and rebuild everything from scratch as you did above to make sure all the libraries are updated . But this workaround ( courtesy Bernhard lokhamp) does help get around the failure due to a clipper library update

Other problems with updates :

Some coot upgrades respond with messages in 16-coot.txt for eg:

checking for GtkGLExt - version >= 1.0.0...
*** pkg-config cannot find gtkglext-1.0 >= 1.0.0
*** Set the environment variable PKG_CONFIG_PATH to point to the correct
*** configuration files.

 

SO you need to provide it gtkglext. On ubuntu you can look for the package that provides this using

sudo apt-cache search gtkgtlext

 

Then install one of the provided alternatives

me@mymachine:~$     sudo apt-cache search gtkglext
[sudo] password for me:
gtk2hs-doc - A GUI library for Haskell (Gtk2Hs) -- documentation and examples
libghc6-gtkglext-dev - A GUI library for Haskell (Gtk2Hs) -- gtkglext bindings
libgtkglext1 - OpenGL Extension to GTK (shared libraries)
libgtkglext1-dev - OpenGL Extension to GTK (development files)
libgtkglext1-doc - OpenGL Extension to GTK (documentation)
libgtkglext1-ruby - GTK+ GL extension bindings for the Ruby language
libgtkglext1-ruby1.8 - GTK+ GL extension bindings for the Ruby language
libgtkglextmm-x11-1.2 - C++ wrapper for the OpenGL Extension to GTK (shared libraries)
libgtkglextmm-x11-dev - C++ wrapper for the OpenGL Extension to GTK (development files)
python-gtkglext1 - GtkGLext python bindings
vim-syntax-gtk - Syntax files to highlight gtk+ keywords in vim

In this case installing the libgtkglext1-dev package satisfies the dependency

sudo apt-get install libgtkglext1-dev

 

Tags:
 
Images (0)
 
Comments (0)
You must login to post a comment.