I have a project on the DevCloud that uses MKL and is built with CMake. For convenience, CMake invokes `mkl_link_tool` to construct the link line. However, `mkl_link_tool` happens to be a 32-bit executable:
/glob/development-tools/versions/intel-parallel-studio/compilers_and_libraries_2019.3.199/linux$ file mkl/tools/mkl_link_tool mkl/tools/mkl_link_tool: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 2.6.18, BuildID[sha1]=ec312866645ce227a0fd3b0aeabe20b1c9d7ba42, not stripped
and Ubuntu does not let it run. `bash` gives a very misleading error message, saying that the file could not be found.
The cure is to install the 32-bit compatibility layer package:
`sudo apt-get install lib32stdc++6`
but hey, I have no sudo privileges on the DevCloud :-)
Is there a quick workaround at the user level?
BTW, it's high time for `mkl_link_tool` grew up and gained an additional set of 32 bits which I am sure it deserves .:-)
Cheers, AA
TCE Level:
TCE Open Date:
Friday, March 27, 2020 - 07:53