Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
84 Views

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.

0 Kudos
3 Replies
Highlighted
Employee
84 Views

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
 

0 Kudos
Highlighted
Beginner
84 Views

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?

0 Kudos
Highlighted
Employee
84 Views

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

0 Kudos