Changes

From CCP4 wiki
Jump to navigationJump to search
1,909 bytes added ,  11:15, 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,300

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu