hello I am trying to use intel mpiifort
to compile my program. One error occurs during make:
ld:xxx/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/../../bin/intel64/../../lib/icx-lto.so: error loading plugin: /lib64/libc.so.6: version `GLIBC_2.14' not found.
I read this Multiple glibc libraries on a single host and I complied glibc-2.17 and patchelf both. Then I input
patchelf --set-rpath xxx/glibc-2.17/lib/ xxx/intel/oneapi/compiler/2021.2.0/linux/lib/icx-lto.so
and
patchelf --add-needed xxx/glibc-2.17/lib/libc.so.6 xxx/intel/oneapi/compiler/2021.2.0/linux/lib/icx-lto.so
The result of ldd xxx/intel/oneapi/compiler/2021.2.0/linux/lib/icx-lto.so
is
linux-vdso.so.1 => (0x00007fffaa5ff000)
libc.so.6 => xxx/glibc/glibc-2.17/lib/libc.so.6 (0x00007fb1adff8000) librt.so.1 => xxx/glibc/glibc-2.1/lib/librt.so.1 (0x00007fb1addf0000) libdl.so.2 => xxx/glibc/glibc-2.17/lib/libdl.so.2 (0x00007fb1adbec000) libimf.so => xxx/intel/oneapi/compiler/2021.2.0/linux/compiler/lib/intel64_lin/libimf.so (0x00007fb1ad563000) libm.so.6 => xxx/glibc/glibc-2.17/lib/libm.so.6 (0x00007fb1ad265000) libz.so.1 => /lib64/libz.so.1 (0x00007fb1ad032000) libsvml.so => xxx/intel/oneapi/compiler/2021.2.0/linux/compiler/lib/intel64_lin/libsvml.so (0x00007fb1ab534000) libirng.so => xxx/intel/oneapi/compiler/2021.2.0/linux/compiler/lib/intel64_lin/libirng.so (0x00007fb1ab1ca000) libgcc_s.so.1 => xxx/gcc-4.7.4/lib64/libgcc_s.so.1 (0x00007fb1aafb4000) libintlc.so.5 => xxx/intel/oneapi/compiler/2021.2.0/linux/compiler/lib/intel64_lin/libintlc.so.5 (0x00007fb1aad3b000) libpthread.so.0 => xxx/glibc-2.17/lib/libpthread.so.0 (0x00007fb1aab1e000) /lib64/ld-linux-x86-64.so.2 (0x0000003b70a00000)
But it is still not working when I re-compile my program. Does anyone have some solutions?
Actually same errors when using ifort
and icc
. But it is solved by patchelf --set-interpreter xxx/glibc/glibc-2.17-gcc-4.8.5/lib/ld-linux-x86-64.so.2 --set-rpath xxx/glibc/glibc-2.17-gcc-4.8.5/lib/ xxx/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/ifort