Software Archive
Read-only legacy content
17061 Discussions

mpicc -mmic skipping /libmpi.so when searching for -lmpi

Apaar_G_
Beginner
872 Views

Hey!

The case is similar to this post : http://software.intel.com/en-us/forums/topic/382324

The difference in my case is even when I'm compiling with mpiicc for MIC using -mmic, then also I get the error : 

x86_64-k1om-linux-ld: skipping incompatible /home/Intel_13.0//impi/4.0.3.008/intel64/lib/libmpi.so when searching for -lmpi
x86_64-k1om-linux-ld: skipping incompatible /home/Intel_13.0//impi/4.0.3.008/intel64/lib/libmpi.a when searching for -lmpi
x86_64-k1om-linux-ld: cannot find -lmpi
x86_64-k1om-linux-ld: skipping incompatible /home/Intel_13.0//impi/4.0.3.008/intel64/lib/libmpigf.so when searching for -lmpigf
x86_64-k1om-linux-ld: skipping incompatible /home/Intel_13.0//impi/4.0.3.008/intel64/lib/libmpigf.a when searching for -lmpigf
x86_64-k1om-linux-ld: cannot find -lmpigf
x86_64-k1om-linux-ld: skipping incompatible /home/Intel_13.0//impi/4.0.3.008/intel64/lib/libmpigi.a when searching for -lmpigi
x86_64-k1om-linux-ld: cannot find -lmpigi

Compiled as : $ mpiicc simplempi.c -mmic

I have set the following : 

# source $ICCROOT/bin/compilervars.sh intel64
# source $MPIROOT/intel64/bin/mpivars.sh

Output of my $PATH and $LD_LIBRARY_PATH

:$ echo $PATH

/home/Intel_13.0/itac/8.0.3.007/bin:/home/Intel_13.0/vtune_amplifier_xe_2013/bin64:/home/Intel_13.0//impi/4.0.3.008/intel64/bin:/home/Intel_13.0//impi/4.0.3.008/intel64/bin:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64_mic:/home/Intel_13.0/composer_xe_2013.0.079/debugger/gui/intel64:/home/Intel_13.0//impi/4.0.3.008/intel64/bin:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64_mic:/home/Intel_13.0/composer_xe_2013.0.079/debugger/gui/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64:/home/Intel_13.0/composer_xe_2013.0.079/bin/intel64_mic:/home/Intel_13.0/composer_xe_2013.0.079/debugger/gui/intel64:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/inaof01/bin

:$ echo $LD_LIBRARY_PATH
/home/Intel_13.0/lib/intel64:/home/Intel_13.0/itac/8.0.3.007/itac/slib_impi4:/home/Intel_13.0//impi/4.0.3.008/intel64/lib:/home/Intel_13.0//impi/4.0.3.008/intel64/lib:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/opt/intel/mic/coi/host-linux-release/lib:/opt/intel/mic/myo/lib:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/../compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mkl/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/tbb/lib/intel64:/home/Intel_13.0//impi/4.0.3.008/intel64/lib:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mkl/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/opt/intel/mic/coi/host-linux-release/lib:/opt/intel/mic/myo/lib:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/../compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mkl/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/tbb/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/opt/intel/mic/coi/host-linux-release/lib:/opt/intel/mic/myo/lib:/home/Intel_13.0/composer_xe_2013.0.079/mpirt/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/../compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/ipp/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/compiler/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/mkl/lib/intel64:/home/Intel_13.0/composer_xe_2013.0.079/tbb/lib/intel64

How do I get through with this error?

I have one MIC card on machine and other tools are working fine. I'm attaching the simplempi.c(Basic MPI program) source in case if anybody wants to glance through. 

Thanks,

0 Kudos
7 Replies
Apaar_G_
Beginner
872 Views

I'm sorry for the blunder in the Post's topic: it should be "mpiicc -mmic skipping /libmpi.so when searching for -lmpi". Please note this.

0 Kudos
Loc_N_Intel
Employee
872 Views

Hi Apaar,

Can you try

#source $MPIROOT/mic/bin/mpivars.sh

instead of $MPIROOT/intel64/bin/mpivars.sh . Also, I notice that your MPI version is a bit old. Regards.

 

0 Kudos
TimP
Honored Contributor III
872 Views

With any recent combination of compiler and MPI versions, intel64/bin/mpivars.sh should be fine.

0 Kudos
Apaar_G_
Beginner
872 Views

Hi loc-nyugen, TimP

@loc-nyugen, When I do search on mpivars.sh, here's what I get :

$ locate mpivars.sh
/home/Intel_13.0/impi/4.0.3.008/ia32/bin/mpivars.sh
/home/Intel_13.0/impi/4.0.3.008/intel64/bin/mpivars.sh

There's no path as : /mic/bin/mpivars.sh . Should I be worried about this about this or /intel64/bin/mpivars.sh is suffice.

@loc-nyugen,TimP : How will updating the MPI help. I mean, there must be a support for MIC in this version as well. Isn't it.

Will anyway get the latest version installed and let you guys know.

Regards,

0 Kudos
Apaar_G_
Beginner
872 Views

Hi,

I have now, the updated version of Open MPI( v1.6.5) . But still I am getting the same error. Any pointers where else should I check?

Regards,

0 Kudos
TimP
Honored Contributor III
872 Views

 Why the double // in your path?  Did you actually install the /mic/ libraries with your MPI. e..g. to /home/Intel_13.0//impi/4.0.3.008/mic/ ?  I don't see any such entry in LD_LIBRARY_PATH. Maybe your MPI is too old? The other problem is that you appear to have used an old version of the compiler which doesn't check for the presence of MPI paths when you run the compilervars.sh setting after you run the mpivars.sh.

0 Kudos
Gregg_S_Intel
Employee
872 Views

Agreeing this Intel MPI version 4.0 is too old.  Support for Intel Xeon Phi was introduced with Intel MPI 4.1.

 

 

0 Kudos
Reply