Coot: Difference between revisions

1,909 bytes added ,  11 February 2012
Line 27: Line 27:
and install the library, again using yum (assuming yum is available in your distribution, otherwise use apt or whatever is there for this purpose).
and install the library, again using yum (assuming yum is available in your distribution, otherwise use apt or whatever is there for this purpose).


==== Example: installing coot-0.7-pre-1-revision-3999-binary-Linux-x86_64-centos-5-python-gtk2.tar.gz on 64bit SL6.1 ====
==== Example: installing a 64bit nightly CentOS5 binary build on 64bit SL6.1 ====
First of all, SL (Scientific Linux) is a derivative of RHEL, as is CentOS. So all three OSs behave exactly the same.
First of all, SL (Scientific Linux) is a derivative of RHEL, as is CentOS. So all three OSs behave exactly the same.
The binaries with "x86_64" binaries are for 64bit systems; the "i386" binaries are for 32bit systems. Since my notebook is 64bits, I downloaded http://www.ysbl.york.ac.uk/~emsley/software/binaries/nightlies/pre-release/coot-0.7-pre-1-revision-3999-binary-Linux-x86_64-centos-5-python-gtk2.tar.gz . As root, I did "cd /usr/local/src" and un-tarred. Then
The binaries with "x86_64" binaries are for 64bit systems; the "i386" binaries are for 32bit systems. Since my notebook is 64bits, I downloaded http://www.ysbl.york.ac.uk/~emsley/software/binaries/nightlies/pre-release/coot-0.7-pre-1-revision-3999-binary-Linux-x86_64-centos-5-python-gtk2.tar.gz . As root, I did "cd /usr/local/src" and un-tarred. Next, find out which libraries are missing:
  [root@localhost src]# ldd coot-Linux-x86_64-centos-5-gtk2-python/bin/coot-real  
  [root@localhost src]# ldd coot-Linux-x86_64-centos-5-gtk2-python/bin/coot-real  
linux-vdso.so.1 =>  (0x00007ffffc5dd000)
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x0000003dccc00000)
linux-vdso.so.1 =>  (0x00007ffffc5dd000)
libguilegtk-2.0.so.0 => not found
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x0000003dccc00000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x0000003dcb400000)
libguilegtk-2.0.so.0 => not found
libguile.so.17 => not found
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x0000003dcb400000)
libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x0000003dc8400000)
libguile.so.17 => not found
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fc66033b000)
libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x0000003dc8400000)
libltdl.so.3 => not found
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fc66033b000)
libclipper-ccp4.so.2 => not found
libltdl.so.3 => not found
libclipper-cif.so.2 => not found
libclipper-ccp4.so.2 => not found
libclipper-phs.so.2 => not found
libclipper-cif.so.2 => not found
libclipper-contrib.so.2 => not found
libclipper-phs.so.2 => not found
libclipper-minimol.so.2 => not found
libclipper-contrib.so.2 => not found
libclipper-cns.so.2 => not found
libclipper-minimol.so.2 => not found
libclipper-mmdb.so.2 => not found
libclipper-cns.so.2 => not found
libclipper-core.so.2 => not found
libclipper-mmdb.so.2 => not found
libccp4c.so.0 => not found
libclipper-core.so.2 => not found
librfftw.so.2 => not found
libccp4c.so.0 => not found
libfftw.so.2 => not found
librfftw.so.2 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc66011b000)
libfftw.so.2 => not found
libssm.so.0 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc66011b000)
libmmdb.so.0 => not found
libssm.so.0 => not found
libpython2.7.so.1.0 => not found
libmmdb.so.0 => not found
libutil.so.1 => /lib64/libutil.so.1 (0x00007fc65ff16000)
libpython2.7.so.1.0 => not found
libgtkglext-x11-1.0.so.0 => not found
libutil.so.1 => /lib64/libutil.so.1 (0x00007fc65ff16000)
libgdkglext-x11-1.0.so.0 => not found
libgtkglext-x11-1.0.so.0 => not found
libXmu.so.6 => /usr/lib64/libXmu.so.6 (0x0000003dcd800000)
libgdkglext-x11-1.0.so.0 => not found
libXt.so.6 => /usr/lib64/libXt.so.6 (0x0000003dd8800000)
libXmu.so.6 => /usr/lib64/libXmu.so.6 (0x0000003dcd800000)
libSM.so.6 => /usr/lib64/libSM.so.6 (0x0000003dd5c00000)
libXt.so.6 => /usr/lib64/libXt.so.6 (0x0000003dd8800000)
libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000003dd5800000)
libSM.so.6 => /usr/lib64/libSM.so.6 (0x0000003dd5c00000)
libpangox-1.0.so.0 => /usr/lib64/libpangox-1.0.so.0 (0x0000003dc9c00000)
libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000003dd5800000)
libglut.so.3 => not found
libpangox-1.0.so.0 => /usr/lib64/libpangox-1.0.so.0 (0x0000003dc9c00000)
libGL.so.1 => /usr/lib64/libGL.so.1 (0x0000003dd3000000)
libglut.so.3 => not found
libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x00007fc65fcb5000)
libGL.so.1 => /usr/lib64/libGL.so.1 (0x0000003dd3000000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000003dcc400000)
libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x00007fc65fcb5000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x0000003dcb000000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000003dcc400000)
libgnomecanvas-2.so.0 => /usr/lib64/libgnomecanvas-2.so.0 (0x0000003de0800000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x0000003dcb000000)
libart_lgpl_2.so.2 => /usr/lib64/libart_lgpl_2.so.2 (0x0000003ddfc00000)
libgnomecanvas-2.so.0 => /usr/lib64/libgnomecanvas-2.so.0 (0x0000003de0800000)
libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x0000003dd1000000)
libart_lgpl_2.so.2 => /usr/lib64/libart_lgpl_2.so.2 (0x0000003ddfc00000)
libgsl.so.0 => not found
libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x0000003dd1000000)
libgslcblas.so.0 => not found
libgsl.so.0 => not found
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007fc65fa5f000)
libgslcblas.so.0 => not found
libidn.so.11 => /lib64/libidn.so.11 (0x0000003dd2c00000)
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007fc65fa5f000)
librt.so.1 => /lib64/librt.so.1 (0x00007fc65f857000)
libidn.so.11 => /lib64/libidn.so.11 (0x0000003dd2c00000)
libssl.so.6 => not found
librt.so.1 => /lib64/librt.so.1 (0x00007fc65f857000)
libcrypto.so.6 => not found
libssl.so.6 => not found
libz.so.1 => /lib64/libz.so.1 (0x0000003dc9800000)
libcrypto.so.6 => not found
libglade-2.0.so.0 => /usr/lib64/libglade-2.0.so.0 (0x0000003de0c00000)
libz.so.1 => /lib64/libz.so.1 (0x0000003dc9800000)
libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x0000003dd1800000)
libglade-2.0.so.0 => /usr/lib64/libglade-2.0.so.0 (0x0000003de0c00000)
libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x0000003dd0800000)
libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x0000003dd1800000)
libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x0000003dd0c00000)
libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x0000003dd0800000)
libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x0000003dcf400000)
libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x0000003dd0c00000)
libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x0000003dcf800000)
libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x0000003dcf400000)
libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x0000003dd2000000)
libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x0000003dcf800000)
libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x0000003dcfc00000)
libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x0000003dd2000000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003dca800000)
libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x0000003dcfc00000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x0000003dcac00000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003dca800000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc65f64e000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x0000003dcac00000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fc65f368000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc65f64e000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003dd4800000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fc65f368000)
libm.so.6 => /lib64/libm.so.6 (0x00007fc65f0e3000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003dd4800000)
libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003dca000000)
libm.so.6 => /lib64/libm.so.6 (0x00007fc65f0e3000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003dd2800000)
libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003dca000000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc65ed41000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003dd2800000)
libfreebl3.so => /lib64/libfreebl3.so (0x0000003dd5400000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc65ed41000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc66058c000)
libfreebl3.so => /lib64/libfreebl3.so (0x0000003dd5400000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003dd3400000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc66058c000)
libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x0000003dd1400000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003dd3400000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x0000003dce800000)
libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x0000003dd1400000)
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x0000003dd3800000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x0000003dce800000)
libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x0000003dd2400000)
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x0000003dd3800000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x0000003dcbc00000)
libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x0000003dd2400000)
libgailutil.so.18 => /usr/lib64/libgailutil.so.18 (0x0000003ddec00000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x0000003dcbc00000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x0000003dcc000000)
libgailutil.so.18 => /usr/lib64/libgailutil.so.18 (0x0000003ddec00000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x0000003dcc800000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x0000003dcc000000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000003dcd400000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x0000003dcc800000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x0000003ddc400000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000003dcd400000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003dd6800000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x0000003ddc400000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003dd6400000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003dd6800000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003dd4c00000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003dd6400000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fc65eb38000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003dd4c00000)
libssl3.so => /usr/lib64/libssl3.so (0x0000003dd9000000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fc65eb38000)
libsmime3.so => /usr/lib64/libsmime3.so (0x0000003dd8c00000)
libssl3.so => /usr/lib64/libssl3.so (0x0000003dd9000000)
libnss3.so => /usr/lib64/libnss3.so (0x0000003dd8400000)
libsmime3.so => /usr/lib64/libsmime3.so (0x0000003dd8c00000)
libnssutil3.so => /usr/lib64/libnssutil3.so (0x0000003dd8000000)
libnss3.so => /usr/lib64/libnss3.so (0x0000003dd8400000)
libplds4.so => /lib64/libplds4.so (0x0000003dd7400000)
libnssutil3.so => /usr/lib64/libnssutil3.so (0x0000003dd8000000)
libplc4.so => /lib64/libplc4.so (0x0000003dd7c00000)
libplds4.so => /lib64/libplds4.so (0x0000003dd7400000)
libnspr4.so => /lib64/libnspr4.so (0x0000003dd7000000)
libplc4.so => /lib64/libplc4.so (0x0000003dd7c00000)
libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x0000003ddc800000)
libnspr4.so => /lib64/libnspr4.so (0x0000003dd7000000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007fc65e7e4000)
libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x0000003ddc800000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x0000003dce000000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007fc65e7e4000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x0000003dcec00000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x0000003dce000000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x0000003dcdc00000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x0000003dcec00000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x0000003dce400000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x0000003dcdc00000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x0000003dcf000000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x0000003dce400000)
libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x0000003dd0000000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x0000003dcf000000)
libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x0000003dd0400000)
libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x0000003dd0000000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000003dcb800000)
libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x0000003dd0400000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fc65e5c6000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000003dcb800000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fc65e3a7000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fc65e5c6000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003dcd000000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fc65e3a7000)
liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x0000003ddbc00000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003dcd000000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x0000003dda400000)
liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x0000003ddbc00000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003dd6000000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x0000003dda400000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fc65e1a3000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003dd6000000)
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007fc65df48000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fc65e1a3000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007fc65dbae000)
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007fc65df48000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007fc65dbae000)
 
So most of the libraries are there, but 24 are missing ("not found"). Out of those, 20 are in coot-Linux-x86_64-centos-5-gtk2-python/lib ! This can be see by (''do not permanently modify LD_LIBRARY_PATH !''):
[root@localhost  src]# LD_LIBRARY_PATH=coot-Linux-x86_64-centos-5-gtk2-python/lib ldd coot-Linux-x86_64-centos-5-gtk2-python/bin/coot-real | grep found
libssl.so.6 => not found
libcrypto.so.6 => not found
libssl.so.6 => not found
libcrypto.so.6 => not found
 
So actually only two libraries are missing! Either they can be installed using yum, or they are already available, but have a higher version. Find out:
[root@localhost  src]# yum provides libssl.so.6
Loaded plugins: refresh-packagekit
openssl098e-0.9.8e-17.el6.i686 : A compatibility version of a general
                                : cryptography and TLS library
Repo        : sl
Matched from:
Other      : libssl.so.6
Now don't just install this and its dependencies - it is a 32bit library (the name ends with ".i686")! Installing it doesn't hurt, but it does not solve the problem, either - we need a 64bit library. '''If there were a 64bit library package we would like to install this, using "yum install libssl.so.6" .'''
 
Rather, find out what the system already has - omit the version:
[root@localhost locate libssl.so
/usr/lib64/.libssl.so.1.0.0.hmac
/usr/lib64/.libssl.so.10.hmac
/usr/lib64/libssl.so
/usr/lib64/libssl.so.1.0.0
/usr/lib64/libssl.so.10
 
So the answer is: there is /usr/lib64/libssl.so which is actually at version 10, which is compatible with the version we need (6). For libcrypto.so this works the same way. So just
cd cd coot-Linux-x86_64-centos-5-gtk2-python/lib/
ln -s /usr/lib64/libssl.so libssl.so.6
ln -s /usr/lib64/libcrypto.so libcrypto.so.6
The way these symlinks are made this will even work if RHEL upgrades libssl to higher versions.
 
Now we're all set - enjoy coot.


=== Installation on Debian/Ubuntu from debian archive files ===
=== Installation on Debian/Ubuntu from debian archive files ===
1,330

edits