1,330
edits
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 | ==== 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. | 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) | |||
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 | |||
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 === |