|
|
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 === |