libmpifort.so incompatible error during compile

libmpifort.so incompatible error during compile

Hi,

I hit link issue when compiling the program, thank you for the help

ld: skipping incompatible /opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/mic/lib/libmpifort.so when searching for -lmpifort
ld: skipping incompatible /opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/mic/lib/libmpifort.a when searching for -lmpifort
ld: cannot find -lmpifort
ld: skipping incompatible /opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/mic/lib/release_mt/libmpi.so when searching for -lmpi
ld: skipping incompatible /opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/mic/lib/release_mt/libmpi.a when searching for -lmpi
ld: skipping incompatible /opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/mic/lib/libmpi.so when searching for -lmpi
ld: skipping incompatible /opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/mic/lib/libmpi.a when searching for -lmpi
ld: cannot find -lmpi
ld: skipping incompatible /opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/mic/lib/libmpigi.a when searching for -lmpigi
ld: cannot find -lmpigi

Environment:

RHEL7.3 + Intel Parallel Studio 2017

# source /opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/mic/bin/mpivars.sh

# mpiexec --version
Intel(R) MPI Library for Linux* OS, Version 2017 Update 3 Build 20170405 (id: 17193)
Copyright (C) 2003-2017, Intel Corporation. All rights reserved.
# mpiicc --version
icc (ICC) 17.0.4 20170411
Copyright (C) 1985-2017 Intel Corporation.  All rights reserved.
# icc --version
icc (ICC) 17.0.4 20170411
Copyright (C) 1985-2017 Intel Corporation.  All rights reserved.

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

It is not obvious from the details provided whether you are building for IA-32 or Intel 64. The error noted is typical when a version of the library linked is found but does not match the target architecture. Your build has found the Xeon Phi (i.e. "mic") version of libraries and that perhaps relates to sourcing the "mic" of the mpivars.sh.

Is Xeon Phi the architecture you intended to target?     If targeting IA-32 or Intel 64, then you would instead use either of:

/opt/intel/compilers_and_libraries_2017.4.196/linux/mpirt/bin/ia32_lin/mpivars.sh
/opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/intel64/bin/mpivars.sh
 

Hi Kevin,

Thank you for the reply, I resolve the issue by excuted the following command.

source /opt/intel/compilers_and_libraries_2017.4.196/linux/mkl/bin/mklvars.sh intel64/ia32

source /opt/intel/compilers_and_libraries_2017.4.196/linux/bin/compilervars.sh intel64/ia32

source /opt/intel/compilers_and_libraries_2017.4.196/linux/mpi/bin64/mpivars.sh intel64/ia32

 

I am using Intel E5 CPU, what's arch should I use? intel64/ia32?

Glad to hear you resolved it. You should use intel64.

Leave a Comment

Please sign in to add a comment. Not a member? Join today