Coot: Difference between revisions
Jump to navigation
Jump to search
(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 | 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]# cd coot-Linux-x86_64-centos-5-gtk2-python | |||
[root@localhost]# LD_LIBRARY_PATH=lib ldd bin/coot-real | grep found | |||
[root@localhost | |||
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 | 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 | : 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! | |||
* 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 | : 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 | : The way these symlinks are made they would even work if RHEL upgrades libssl or libcrypto to higher versions. Works for me. | ||
=== Installation on Debian/Ubuntu from debian archive files === | === Installation on Debian/Ubuntu from debian archive files === |