Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

scalapack linking problem

rabbitsoft
Beginner
3,683 Views
Hello,

During linking my c++ project I get erros like below. Could you tell me please what do I do wrong (I am new with ScaLAPACK)?
Thank you and best wishes


-lboost_regex-mt -lboost_unit_test_framework-mt -lboost_program_options-mt -lboost_thread-mt -lboost_regex-mt -lcurl -lxerces-c -ldb2 -lguide -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_solver_lp64 -lmkl_core -lmkl_scalapack_lp64 -lpthread
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Ccgerv2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Comm_split'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_gridinfo_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_gridinfo__'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Czgebr2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `ztrsd2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cdgesd2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_freebuff_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_SCALAPACK_INT'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `sgamx2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Ccgebr2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Ccgamx2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Comm_size'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Ccgebs2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Send'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Ccgsum2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Type_vector'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cdgsum2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_COMM_WORLD'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Csgsum2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `strrv2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cblacs_pinfo'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `strbs2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dgebs2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Comm_free'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dgebr2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `ctrbs2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `ctrrv2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cblacs_abort'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cigerv2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `ctrbr2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `zgebs2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cigamn2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_barrier_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_gridmap_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cblacs_gridinfo'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dwalltime00_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_setup_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `igsum2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Czgamx2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `ztrrv2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cblacs_gridmap'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dgamn2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `igebs2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Type_commit'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cdsendrecv'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Bcast'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_exit_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cblacs_pnum'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `ctrsd2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_get_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cigebs2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cigebr2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_gridinit_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `sgerv2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Csgamx2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Czgsum2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `igebr2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_abort_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Reduce'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dgerv2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `igesd2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Csgesd2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cblacs_barrier'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cblacs_get'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `cgamx2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cdgerv2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `strbr2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `ztrbr2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cdgebs2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `igamn2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `zgamx2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `sgebs2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `sgamn2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dgamx2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cblacs_gridexit'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cblacs_gridinit'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `igamx2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dcputime00_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cdgebr2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_DOUBLE_INT'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `cgebr2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dtrsd2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dtrrv2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Comm_compare'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Irecv'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Iprobe'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `cgesd2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dtrbr2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Recv'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `zgerv2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Comm_rank'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Isend'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `cgerv2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_gridexit_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `zgesd2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `zgsum2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_ANY_SOURCE'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cdgamx2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_pnum_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `cgsum2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cigesd2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Ccgesd2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Czgerv2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `sgebr2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dtrbs2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `strsd2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `sgesd2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Csgebs2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Cigsum2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Csgebr2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dgsum2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Allreduce'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_COMM_NULL'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `blacs_pinfo_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `igerv2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `ztrbs2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_MAXLOC'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_DOUBLE'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Csgerv2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Czgesd2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Wait'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `sgsum2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `dgesd2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `zgebr2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `cgebs2d_'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_SIMILAR'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `Czgebs2d'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so: undefined reference to `MKL_Type_free'
collect2: ld returned 1 exit status
0 Kudos
11 Replies
Todd_R_Intel
Employee
3,683 Views
I notice several things right off: required grouping symbols, a BLACs library, link line order.

Most people find it easiest to start with the link line advisor.

I made a guess at some of your settings and this is what it gives me: $MKLPATH/libmkl_scalapack_lp64.a $MKLPATH/libmkl_solver_lp64.a -Wl,--start-group $MKLPATH/libmkl_intel_lp64.a $MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a $MKLPATH/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group -openmp -lpthread

Todd
0 Kudos
rabbitsoft
Beginner
3,683 Views
Thank you a lot for answer Todd. Most of undefined references has disappered however some MPI problems are still there. Unfortunatly I dont know what is wrong because I have MPI libs in ldconfig. If you had some idea I would be very grateful. Please take a look at below. Thank you and best wishes.

# sudo ldconfig -p | grep intel
libtvmpi.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libtvmpi.so.4
libtvmpi.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libtvmpi.so
libtmip_psm.so.1.0 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libtmip_psm.so.1.0
libtmip_psm.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libtmip_psm.so
libtmip_mx.so.1.0 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libtmip_mx.so.1.0
libtmip_mx.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libtmip_mx.so
libtmi.so.1.0 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libtmi.so.1.0
libtmi.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libtmi.so
libmpigf.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpigf.so.4
libmpigf.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpigf.so
libmpigc4.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpigc4.so.4
libmpigc4.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpigc4.so
libmpigc3.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpigc3.so.4
libmpigc3.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpigc3.so
libmpi_pvfs2.so.4.0 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_pvfs2.so.4.0
libmpi_pvfs2.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_pvfs2.so
libmpi_panfs.so.4.0 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_panfs.so.4.0
libmpi_panfs.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_panfs.so
libmpi_mt.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_mt.so.4
libmpi_mt.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_mt.so
libmpi_lustre.so.4.0 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_lustre.so.4.0
libmpi_lustre.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_lustre.so
libmpi_log_mt.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_log_mt.so.4
libmpi_log_mt.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_log_mt.so
libmpi_log.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_log.so.4
libmpi_log.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_log.so
libmpi_ilp64.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_ilp64.so.4
libmpi_ilp64.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_ilp64.so
libmpi_dbg_mt.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_dbg_mt.so.4
libmpi_dbg_mt.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_dbg_mt.so
libmpi_dbg.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_dbg.so.4
libmpi_dbg.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi_dbg.so
libmpi.so.4 (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi.so.4
libmpi.so (libc6,x86-64) => /opt/intel/impi/4.0.0.027/lib64/libmpi.so
libmkl_vml_p4n.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_vml_p4n.so
libmkl_vml_mc3.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_vml_mc3.so
libmkl_vml_mc2.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_vml_mc2.so
libmkl_vml_mc.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_vml_mc.so
libmkl_vml_def.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_vml_def.so
libmkl_vml_avx.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_vml_avx.so
libmkl_sequential.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_sequential.so
libmkl_scalapack_lp64.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_lp64.so
libmkl_scalapack_ilp64.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_scalapack_ilp64.so
libmkl_p4n.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_p4n.so
libmkl_pgi_thread.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_pgi_thread.so
libmkl_mc3.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_mc3.so
libmkl_mc.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_mc.so
libmkl_lapack.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_lapack.so
libmkl_intel_thread.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_intel_thread.so
libmkl_intel_sp2dp.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_intel_sp2dp.so
libmkl_intel_lp64.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_intel_lp64.so
libmkl_intel_ilp64.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_intel_ilp64.so
libmkl_gnu_thread.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_gnu_thread.so
libmkl_gf_lp64.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_gf_lp64.so
libmkl_gf_ilp64.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_gf_ilp64.so
libmkl_def.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_def.so
libmkl_core.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_core.so
libmkl_blacs_intelmpi_lp64.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_lp64.so
libmkl_blacs_intelmpi_ilp64.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so
libmkl_avx.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_avx.so
libiomp5.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libiomp5.so
libguide.so (libc6,x86-64) => /opt/intel/mkl/10.2.1.017/lib/em64t/libguide.

---------------------------------------------------------------------------

-lboost_regex-mt -lboost_unit_test_framework-mt -lboost_program_options-mt -lboost_thread-mt -lboost_regex-mt -lcurl -lxerces-c -ldb2 -lguide -lmkl_scalapack_ilp64 -lmkl_solver_ilp64 -Wl,--start-group -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_ilp64 -Wl,--end-group -liomp5 -lpthread
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Waitall'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Abort'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Waitany'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Wtime'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Comm_dup'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Op_free'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Comm_create'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Group_incl'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Attr_get'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Init'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Bcast'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Alltoallv'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Initialized'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Type_free'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Iprobe'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Testall'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Comm_group'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Comm_split'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Send'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Allreduce'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Type_struct'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Rsend'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Irecv'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Type_contiguous'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Recv'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Comm_free'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Comm_compare'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Reduce'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Pack'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Wait'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Allgather'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Op_create'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Pack_size'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Unpack'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Test'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Isend'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Type_vector'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Error_class'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Alltoall'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Finalize'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Sendrecv'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Comm_size'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Group_free'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Type_indexed'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Barrier'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Type_commit'
/opt/intel/mkl/10.2.1.017/lib/em64t/libmkl_blacs_intelmpi_ilp64.so: undefined reference to `MPI_Comm_rank'
collect2: ld returned 1 exit status
0 Kudos
rabbitsoft
Beginner
3,683 Views
Any suggestions please very much?
0 Kudos
TimP
Honored Contributor III
3,683 Views
Have you tried linking against the MKL libraries? Normally, you would make a choice among the MPI wrappers (for Intel MPI, mpiicc, mpiicpc, mpiifort) so as to specify them implicitly.
0 Kudos
Todd_R_Intel
Employee
3,683 Views
It looks like you don't have MPI on your link line. The MKL library libmkl_blacs_intelmpi.so depends on Intel MPI, and none of those references are being resolved. Perhaps you could share more detail on your build and link scripts.

Regards,
Todd
0 Kudos
rabbitsoft
Beginner
3,683 Views
Well, I use Eclipse Galileo autogenerated makefile with manually added libs to objects.mk from link adviser. I paste it below. Tell me please what should I add to link line if I use dynamic linking? Thank you for help.


makefile:

################################################################################
# Automatically-generated file. Do not edit!
################################################################################

-include ../makefile.init

RM := rm -rf

# All of the sources participating in the build are defined here
-include sources.mk
-include subdir.mk
-include Tests/subdir.mk
{source dirs paths}
-include App/subdir.mk
-include objects.mk

ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C++_DEPS)),)
-include $(C++_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
ifneq ($(strip $(CC_DEPS)),)
-include $(CC_DEPS)
endif
ifneq ($(strip $(CPP_DEPS)),)
-include $(CPP_DEPS)
endif
ifneq ($(strip $(CXX_DEPS)),)
-include $(CXX_DEPS)
endif
ifneq ($(strip $(C_UPPER_DEPS)),)
-include $(C_UPPER_DEPS)
endif
endif

-include ../makefile.defs

# Add inputs and outputs from these tool invocations to the build variables

# All Target
all: IST

# Tool invocations
IST: $(OBJS) $(USER_OBJS)
@echo 'Building target: $@'
@echo 'Invoking: GCC C++ Linker'
g++ -L/opt/intel/mkl/10.2.1.017/lib/em64t -L/opt/ibm/db2/V9.7/lib64 -o"IST" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '

# Other Targets
clean:
-$(RM) $(OBJS)$(C++_DEPS)$(C_DEPS)$(CC_DEPS)$(CPP_DEPS)$(EXECUTABLES)$(CXX_DEPS)$(C_UPPER_DEPS) IST
-@echo ' '

.PHONY: all clean dependents
.SECONDARY:

-include ../makefile.targets

---------------------------------------------------------------------
objects.mk:

USER_OBJS :=

LIBS := -lboost_regex-mt -lboost_unit_test_framework-mt -lboost_program_options-mt -lboost_thread-mt -lboost_regex-mt -lcurl -lxerces-c -ldb2 -lguide -lmkl_scalapack_ilp64 -lmkl_solver_ilp64 -Wl,--start-group -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_ilp64 -Wl,--end-group -liomp5 -lpthread -lmpi -lmpi_ilp64

0 Kudos
Todd_R_Intel
Employee
3,683 Views
I don't see MPI on your link line. Are you using Intel MPI? -Todd
0 Kudos
rabbitsoft
Beginner
3,683 Views
Yes, I do, I mean I have installed Intel MPI (in code I dont use MPI by myself - only MKL ScaLAPACK functions which I call use it).

>>I don't see MPI on your link line.

Tell me please how to add it?
0 Kudos
rabbitsoft
Beginner
3,683 Views
Anyone please?
0 Kudos
Todd_R_Intel
Employee
3,683 Views
I'd suggest you take a look at the Getting Started Guide, linked off the Intel MPI documentation page. It looks like the compiler scripts for Intel MPI (e.g. mpigxx for GNU or mpiicpc for Intel C++) will link the necessary MPI libs automatically. If your situation presents problems not covered in the getting started guide, the Intel MPI forum might be more helpful in suggesting the right libraries to link.

Todd
0 Kudos
rabbitsoft
Beginner
3,683 Views
Thank you. Using MPI compiler tools solved the problem.

Milosz
0 Kudos
Reply