Linking to ADIOS2 on Cori
Created by: iamcalvinlau
Hi,
I am running into issues linking ADIOS2 on Cori for my (Fortran) code.
ADIOS2 was built with
-DCMAKE_BUILD_Type=Release -DADIOS2_USE_SST=OFF
using intel/19.0.3.199.
ADIOS2 was linked via
-DADIOS2_HAVE_MPI_F -I/global/u1/c/clau/local/include/adios2/fortran
/global/u1/c/clau/local/lib64/libadios2_f.a /global/u1/c/clau/local/lib64/libadios2.a -ldl /global/u1/c/clau/local/lib64/libtaustubs.a -lifcore -lirng -ldecimal -lmpichcxx_intel -lstdc++ -lifcore -lirng -lstdc++ -ldecimal -lstdc++
(from $ADIOS2_DIR/bin/adios2-config --fortran-flags and $ADIOS2_DIR/bin/adios2-config --fortran-libs).
Compilation fails and I end up with the errors:
/usr/bin/ld: /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_reentrancy.o): in function
for_set_reentrancy': for_reentrancy.c:(.text+0x0): multiple definition of
for_set_reentrancy'; /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcore.a(for_reentrancy.o):for_reentrancy.c:(.text+0x0): first defined here /usr/bin/ld: /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_reentrancy.o):(.data+0x140): multiple definition offor__reentrancy_mode'; /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcore.a(for_reentrancy.o):(.bss+0x10): first defined here /usr/bin/ld: /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_reentrancy.o): in function
for__reentrancy_cleanup': for_reentrancy.c:(.text+0xd0): multiple definition offor__reentrancy_cleanup'; /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcore.a(for_reentrancy.o):for_reentrancy.c:(.text+0x60): first defined here /usr/bin/ld: /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_reentrancy.o):(.data+0x0): multiple definition of
for__static_threadstor_private'; /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcore.a(for_reentrancy.o):(.data+0x0): first defined here /usr/bin/ld: /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_reentrancy.o): in functionfor__disable_asynch_deliv_private': for_reentrancy.c:(.text+0x790): multiple definition of
for__disable_asynch_deliv_private'; /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcore.a(for_reentrancy.o):for_reentrancy.c:(.text+0xc0): first defined here /usr/bin/ld: /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_reentrancy.o): in functionfor__enable_asynch_deliv_private': for_reentrancy.c:(.text+0x7b0): multiple definition of
for__enable_asynch_deliv_private'; /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcore.a(for_reentrancy.o):for_reentrancy.c:(.text+0xe0): first defined here /usr/bin/ld: /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_reentrancy.o): in functionfor__once_private': for_reentrancy.c:(.text+0xb20): multiple definition of
for__once_private'; /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcore.a(for_reentrancy.o):for_reentrancy.c:(.text+0x100): first defined here /usr/bin/ld: /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_reentrancy.o): in functionfor__reentrancy_init': for_reentrancy.c:(.text+0xca0): multiple definition of
for__reentrancy_init'; /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcore.a(for_reentrancy.o):for_reentrancy.c:(.text+0x160): first defined here /usr/bin/ld: /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcoremt.a(for_reentrancy.o):(.bss+0x1c): multiple definition offor__reentrancy_initialized'; /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/lib/intel64/libifcore.a(for_reentrancy.o):(.bss+0x14): first defined here /usr/bin/ld: link errors found, deleting executable
anc'
Any hints as to what to try? Thanks in advance.