Coot: Difference between revisions

Jump to navigation Jump to search
6,076 bytes removed ,  11 February 2012
shorter and more accurate
(shorter and more accurate)
Line 29: Line 29:
==== Example: installing a 64bit nightly CentOS5 binary build 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 ("uname -a" reports "x86_64" more than once), I downloaded ftp://turn5.biologie.uni-konstanz.de/coot/software/binaries/nightlies/pre-release/coot-0.7-pre-1-revision-3999-binary-Linux-x86_64-centos-5-python-gtk2.tar.gz (the main server was very slow, so I used the mirror). As root, I did "cd /usr/local/src" and un-tarred. Next, find out which libraries are missing:
The binaries with "x86_64" binaries are for 64bit systems; the "i386" binaries are for 32bit systems. Since my notebook is 64bits ("uname -a" reports "x86_64" more than once), I download ftp://turn5.biologie.uni-konstanz.de/coot/software/binaries/nightlies/pre-release/coot-0.7-pre-1-revision-3999-binary-Linux-x86_64-centos-5-python-gtk2.tar.gz (the main server is slow, so I use the mirror). As root, I "cd /usr/local/src" and un-tar. Next, have to find out which libraries are missing. This can be achieved by (''note the use of LD_LIBRARY_PATH in the second command - do not permanently modify LD_LIBRARY_PATH !''):
[root@localhost src]# ldd coot-Linux-x86_64-centos-5-gtk2-python/bin/coot-real
  [root@localhost]# cd coot-Linux-x86_64-centos-5-gtk2-python
[root@localhost]# LD_LIBRARY_PATH=lib ldd bin/coot-real | grep found  
linux-vdso.so.1 =>  (0x00007ffffc5dd000)
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x0000003dccc00000)
libguilegtk-2.0.so.0 => not found
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x0000003dcb400000)
libguile.so.17 => not found
libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x0000003dc8400000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fc66033b000)
libltdl.so.3 => not found
libclipper-ccp4.so.2 => not found
libclipper-cif.so.2 => not found
libclipper-phs.so.2 => not found
libclipper-contrib.so.2 => not found
libclipper-minimol.so.2 => not found
libclipper-cns.so.2 => not found
libclipper-mmdb.so.2 => not found
libclipper-core.so.2 => not found
libccp4c.so.0 => not found
librfftw.so.2 => not found
libfftw.so.2 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc66011b000)
libssm.so.0 => not found
libmmdb.so.0 => not found
libpython2.7.so.1.0 => not found
libutil.so.1 => /lib64/libutil.so.1 (0x00007fc65ff16000)
libgtkglext-x11-1.0.so.0 => not found
libgdkglext-x11-1.0.so.0 => not found
libXmu.so.6 => /usr/lib64/libXmu.so.6 (0x0000003dcd800000)
libXt.so.6 => /usr/lib64/libXt.so.6 (0x0000003dd8800000)
libSM.so.6 => /usr/lib64/libSM.so.6 (0x0000003dd5c00000)
libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000003dd5800000)
libpangox-1.0.so.0 => /usr/lib64/libpangox-1.0.so.0 (0x0000003dc9c00000)
libglut.so.3 => not found
libGL.so.1 => /usr/lib64/libGL.so.1 (0x0000003dd3000000)
libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x00007fc65fcb5000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000003dcc400000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x0000003dcb000000)
libgnomecanvas-2.so.0 => /usr/lib64/libgnomecanvas-2.so.0 (0x0000003de0800000)
libart_lgpl_2.so.2 => /usr/lib64/libart_lgpl_2.so.2 (0x0000003ddfc00000)
libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x0000003dd1000000)
libgsl.so.0 => not found
libgslcblas.so.0 => not found
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007fc65fa5f000)
libidn.so.11 => /lib64/libidn.so.11 (0x0000003dd2c00000)
librt.so.1 => /lib64/librt.so.1 (0x00007fc65f857000)
libssl.so.6 => not found
libcrypto.so.6 => not found
libz.so.1 => /lib64/libz.so.1 (0x0000003dc9800000)
libglade-2.0.so.0 => /usr/lib64/libglade-2.0.so.0 (0x0000003de0c00000)
libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x0000003dd1800000)
libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x0000003dd0800000)
libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x0000003dd0c00000)
libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x0000003dcf400000)
libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x0000003dcf800000)
libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x0000003dd2000000)
libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x0000003dcfc00000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003dca800000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x0000003dcac00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc65f64e000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fc65f368000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003dd4800000)
libm.so.6 => /lib64/libm.so.6 (0x00007fc65f0e3000)
libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003dca000000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003dd2800000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc65ed41000)
libfreebl3.so => /lib64/libfreebl3.so (0x0000003dd5400000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc66058c000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003dd3400000)
libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x0000003dd1400000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x0000003dce800000)
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x0000003dd3800000)
libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x0000003dd2400000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x0000003dcbc00000)
libgailutil.so.18 => /usr/lib64/libgailutil.so.18 (0x0000003ddec00000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x0000003dcc000000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x0000003dcc800000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000003dcd400000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x0000003ddc400000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003dd6800000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003dd6400000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003dd4c00000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fc65eb38000)
libssl3.so => /usr/lib64/libssl3.so (0x0000003dd9000000)
libsmime3.so => /usr/lib64/libsmime3.so (0x0000003dd8c00000)
libnss3.so => /usr/lib64/libnss3.so (0x0000003dd8400000)
libnssutil3.so => /usr/lib64/libnssutil3.so (0x0000003dd8000000)
libplds4.so => /lib64/libplds4.so (0x0000003dd7400000)
libplc4.so => /lib64/libplc4.so (0x0000003dd7c00000)
libnspr4.so => /lib64/libnspr4.so (0x0000003dd7000000)
libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x0000003ddc800000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007fc65e7e4000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x0000003dce000000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x0000003dcec00000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x0000003dcdc00000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x0000003dce400000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x0000003dcf000000)
libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x0000003dd0000000)
libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x0000003dd0400000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000003dcb800000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fc65e5c6000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fc65e3a7000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003dcd000000)
liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x0000003ddbc00000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x0000003dda400000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003dd6000000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fc65e1a3000)
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
  libssl.so.6 => not found
  libcrypto.so.6 => not found
  libcrypto.so.6 => not found
Line 148: Line 37:
  libcrypto.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:
So only two libraries are missing! Either they can be installed using yum, or they are already available, but have a higher version.
  [root@localhost  src]# yum provides libssl.so.6
* First possibility: find out about installable RPM packages (preferred way):
 
  [root@localhost  src]# yum provides libssl.so.6 libcrypto.so.6
  Loaded plugins: refresh-packagekit
  Loaded plugins: refresh-packagekit
  openssl098e-0.9.8e-17.el6.i686 : A compatibility version of a general
  openssl098e-0.9.8e-17.el6.i686 : A compatibility version of a general
Line 156: Line 47:
  Matched from:
  Matched from:
  Other      : libssl.so.6
  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" .'''
: Now don't just install the openssl098e-0.9.8e-17.el6.i686 and its dependencies - it is a 32bit library (the name ends with ".i686")! Installing it does not solve the problem - we need a 64bit library. Unfortunately "yum provides" does not tell us about the 64bit library (is that a yum bug?). By specifying the proper name and version 
yum install openssl098e.x86_64
: we install both the required libssl.so.6 and libcrypto.so.6 - done!


Rather, find out what the system already has - omit the version:
* Second possibility: find out if the system already has a higher version:
  [root@localhost locate libssl.so
  [root@localhost locate libssl.so
  /usr/lib64/.libssl.so.1.0.0.hmac
  /usr/lib64/.libssl.so.1.0.0.hmac
Line 167: Line 60:
  /usr/lib64/libssl.so.10
  /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  
: So the answer is: there is /usr/lib64/libssl.so which is at version 10, which is compatible with the version we need (6). For libcrypto.so the same is true. So just  
  cd cd coot-Linux-x86_64-centos-5-gtk2-python/lib/
  cd cd coot-Linux-x86_64-centos-5-gtk2-python/lib/
  ln -s /usr/lib64/libssl.so libssl.so.6
  ln -s /usr/lib64/libssl.so libssl.so.6
  ln -s /usr/lib64/libcrypto.so libcrypto.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.
: The way these symlinks are made they would even work if RHEL upgrades libssl or libcrypto to higher versions. Works for me.
 
Now we're all set - enjoy coot.


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

edits

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

Navigation menu