HEP_OSlibs_SL6: RPM with dependencies needed to run on SLC6
As of Jan 2013, a meta package with the dependencies needed to run HEP software on a SLC6 host has been prepared.
It is currently in test and it is possible to install it on SLC6 hosts by following the instructions on:
https://twiki.cern.ch/twiki/bin/view/LCG/SL6DependencyRPM
Issue with PC installed with SLC6
Typical error
With Stefan, we noticed that a freshly installed SLC6 machine does not have
libcrypto.so.6 installed. This is required for Python to use md5, and translates into a cryptic message:
"ImportError: No module named _md5"
We we look for an appropriate solution but in the meantime (2012-06-18) the workaround is to install:
lxplus446:~/> rpm -qi openssl098e-0.9.8e-17.el6_2.2.x86_64
Name : openssl098e Relocations: (not relocatable)
Version : 0.9.8e Vendor: Scientific Linux CERN, http://cern.ch/linux
Release : 17.el6_2.2 Build Date: Wed 25 Apr 2012 09:02:33 AM CEST
Install Date: Mon 07 May 2012 10:49:24 AM CEST Build Host: lxbslc7-amd64.cern.ch
Group : System Environment/Libraries Source RPM: openssl098e-0.9.8e-17.el6_2.2.src.rpm
Size : 2338924 License: OpenSSL
Signature : DSA/SHA1, Wed 25 Apr 2012 10:14:01 AM CEST, Key ID 5e03fde51d1e034b
Packager : CERN Linux Support <linux.support@cern.ch>
URL : http://www.openssl.org/
Summary : A compatibility version of a general cryptography and TLS library
Description :
The OpenSSL toolkit provides support for secure communications between
machines. OpenSSL includes a certificate management tool and shared
libraries which provide various cryptographic algorithms and
protocols. This version of OpenSSL package is provided for compatibility
with the previous Red Hat Enterprise Linux release.
This RPM is already installed on lxplus6
How to debug
python -v -c 'import hashlib'
Should help, and normally that is due to missing dependencies of:
${MYSITEROOT}/lcg/external/Python/2.6.5p2/x86_64-slc6-gcc46-opt/lib/python2.6/lib-dynload/_hashlib.so
Running i686 software on SLC6
To run the i686 config on a newly installed SLC6 machine the followoing packages are needed:
compat-libstdc++.i686
libz.i686
freetype.i686
krb5-devel.i686
bzip2-libs.i686
Setting up nightlies on SLC6
- install libcrypto etc.
- install distcc
- check if
/build/nightlies
exists/has correct permissions
- check firewall settings for allowing acron (and distcc( which ports?))
- create distcc directory
/build/nightlies/.distcc/
(error distcc[6310] (dcc_mkdir) ERROR: mkdir '/build/nightlies/.distcc/state' failed: No such file or directory
?? mkdir
works for lhcbsoft
?)
- check for static libraries http://software.intel.com/en-us/articles/error-ld-cannot-find-lm/
SLC6 and GDB
Where running gdb on the LCGCMT python on SLC6 there is this error:
$ gdb python
gdb: symbol lookup error: gdb: undefined symbol:
PyUnicodeUCS4_FromEncodedObject
The solution is to preload the system python.so:
$ export LD_PRELOAD=/usr/lib64/libpython2.6.so
$ gdb python
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-56.el6)
[...]
Missing gcc on SLC5 with config x86_64-slc5-xxx
If gcc is missing from the LD_LIBRARY_PATH and the system libstdc++ is missing sympols, you can force cmt to detect the host as SLC5 by defining the follwoing environment variable:
export CMTEXTRATAGS=host-slc5
--
BenjaminCouturier - 18-Jun-2012