One of our users has reported a problem with the mpitune utility included with Intel MPI v5.0.2.044. In particular, it appears that the hashlib module it uses is linked against an old version of OpenSSL that is not available in our CentOS 6 operating system:
10:20 bjm900@raijin7 ~ > ldd /apps/intel-mpi/5.0.2.044/intel64/bin/tune/_hashlib.so linux-vdso.so.1 => (0x00007fff739ff000) libssl.so.6 => not found libcrypto.so.6 => not found libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe5884ce000) libc.so.6 => /lib64/libc.so.6 (0x00007fe58813a000) /lib64/ld-linux-x86-64.so.2 (0x00007fe588908000)
The libraries that we have are several ABI revisions ahead of the ones linked against here.
10:25 bjm900@raijin7 ~ > ls /usr/lib64/libssl.so* /usr/lib64/libssl.so /usr/lib64/libssl.so.1.0.1e /usr/lib64/libssl.so.10 10:25 bjm900@raijin7 ~ > ls /usr/lib64/libcrypto.so* /usr/lib64/libcrypto.so /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10
Because it can't bring in this hashlib module properly, attempting to run mpitune produces these errors:
ERROR:root:code for hash md5 was not found. Traceback (most recent call last): File "/p/pdsd/Intel_MPI/Software/Python/python-2.7.2-linux-intel64-rhel5.7/lib/python2.7/hashlib.py", line 139, in <module> File "/p/pdsd/Intel_MPI/Software/Python/python-2.7.2-linux-intel64-rhel5.7/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor ValueError: unsupported hash type md5
and similarly for sha1, sha224, sha256, sha384, sha512.
Is it possible to get a build of mpitune that links against the newer 1.0.x versions of OpenSSL?
Thanks for the reporting. It's a known issue which will be fixed in the future Intel MPI Library releases.
As a possible workaround you can try to create symbolic links for the unresolved libssl/libcrypto libraries using the ones available on the system.