Community
cancel
Showing results for 
Search instead for 
Did you mean: 
rabbitsoft
Beginner
584 Views

scalapack linking problem

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
584 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
rabbitsoft
Beginner
584 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
rabbitsoft
Beginner
584 Views

Any suggestions please very much?
TimP
Black Belt
584 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.
Todd_R_Intel
Employee
584 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
rabbitsoft
Beginner
584 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

Todd_R_Intel
Employee
584 Views

I don't see MPI on your link line. Are you using Intel MPI? -Todd
rabbitsoft
Beginner
584 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?
rabbitsoft
Beginner
584 Views

Anyone please?
Todd_R_Intel
Employee
584 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
rabbitsoft
Beginner
584 Views

Thank you. Using MPI compiler tools solved the problem.

Milosz
Reply