Software Archive
Read-only legacy content
17061 Discussions

using version 2015 of the compiler to build for mic does not seem to work on RHEL 6

Jess
Beginner
1,227 Views

I am trying to compile for both MIC and the host, and am hitting this error: x86_64-k1om-linux-ld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by x86_64-k1om-linux-ld) x86_64-k1om-linux-ld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/mpss/3.4/sysroots/x86_64-mpsssdk-linux/usr/lib/k1om-mpss-linux/../libz.so.1) GLIBC on RHEL 6 is 2.12.x. For reference, I am attempting to statically compile NAMD as described here: https://software.intel.com/en-us/articles/namd-for-intel-xeon-phi-coprocessor

0 Kudos
8 Replies
Kevin_D_Intel
Employee
1,227 Views

From what I can see you are running MPSS 3.4 and if your RH is 6.0 (actually 6.2 or less) then that is not a supported combination according to the MPSS readme.txt (from here).

You could perhaps either upgrade the Linux to a MPSS 3.4 supported version or downgrade the MPSS to a version that supports your RH version.

0 Kudos
Jess
Beginner
1,227 Views
But I've been told (by Intel) to upgrade MPSS to 3.4 because of bugs in 3.2 and 3.3.
0 Kudos
Jess
Beginner
1,227 Views
By the way, RHEL 6.6 is still on glibc 2.12.
0 Kudos
Kevin_D_Intel
Employee
1,227 Views

Try removing /lib64 from the LD_LIBRARY_PATH environment variable setting.

0 Kudos
Jess
Beginner
1,227 Views
If I do that, I get a strange error saying that libpthread can't be found. Is one not provided for MIC? I haven't found one so far. ... icpc: warning #10193: -vec is default; use -x and -ax to configure vectorization icpc: warning #10342: -liomp5 linked in dynamically, static library not available for Intel(R) MIC Architecture icpc: warning #10237: -loffload linked in dynamically, static library not available icpc: warning #10342: -liomp5 linked in dynamically, static library not available for Intel(R) MIC Architecture icpc: warning #10237: -lcilkrts linked in dynamically, static library not available icpc: warning #10237: -lcilkrts linked in dynamically, static library not available x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/libm.so when searching for -lm x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/libm.so when searching for -lm x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/libpthread.so when searching for -lpthread x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/libpthread.so when searching for -lpthread x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/librt.so when searching for -lrt x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/librt.so when searching for -lrt x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/libc.so when searching for -lc x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/libc.so when searching for -lc x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/libdl.so when searching for -ldl x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/libdl.so when searching for -ldl x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/libc.so when searching for -lc x86_64-k1om-linux-ld: skipping incompatible /usr/lib64/libc.so when searching for -lc x86_64-k1om-linux-ld: warning: libimf.so, needed by /home/local/software/intel/2015.0.090/composer_xe_2015.0.090/compiler/lib/mic/liboffload.so.5, not found (try using -rpath or -rpath-link) x86_64-k1om-linux-ld: warning: libsvml.so, needed by /home/local/software/intel/2015.0.090/composer_xe_2015.0.090/compiler/lib/mic/liboffload.so.5, not found (try using -rpath or -rpath-link) x86_64-k1om-linux-ld: warning: libirng.so, needed by /home/local/software/intel/2015.0.090/composer_xe_2015.0.090/compiler/lib/mic/liboffload.so.5, not found (try using -rpath or -rpath-link) x86_64-k1om-linux-ld: warning: libintlc.so.5, needed by /home/local/software/intel/2015.0.090/composer_xe_2015.0.090/compiler/lib/mic/liboffload.so.5, not found (try using -rpath or -rpath-link) icpc: warning #10237: -loffload linked in dynamically, static library not available ld: cannot find -lpthread ..
0 Kudos
Jess
Beginner
1,227 Views
Now it can't find a suitable libpthread. I think it is looking for this: /opt/mpss/3.4/sysroots/k1om-mpss-linux/lib64/libpthread.so.0 but not finding it, as there is no libpthread.so in there. Is there a reason why the symlink hasn't been created when mpss is installed?
0 Kudos
Kevin_D_Intel
Employee
1,227 Views

The build is trying to override default search paths from what I can determine in the messages posted.

The messages regarding incompatible libraries suggest the build is forcing the target-side link to search/use libraries intended for the host and not the coprocessor.

The messages regarding rpath are unexpected with the IPS XE 2015 release on MPSS 3.4 as those are compatible, thus those are also likely a by-product of similarly altering library search paths and inhibiting the compiler driver from finding what normally would be found/used without any option to override default search paths.

The libpthread for the target link resolves/resides at: /usr/linux-k1om-4.7/linux-k1om/lib64 (which sym-links into the /opt/mpss area).

In the original post you mention attempting to “statically compile NAMD”. Have you made changes to the build recipe in the article you cited for that?

If so, were you successful building under with IPS XE 2015 and MPSS 3.4 as per the recipe initially?

0 Kudos
Ravi_N_Intel
Employee
1,227 Views

1) Does your MIC_LIBRARY_PATH contain /usr/lib64.  If so remove that path from the environment variable

2)  Are you passing -L /usr/lib64 to  compilation.  If so remove that option.

0 Kudos
Reply