Undefined reference to to `blacs_gridinfo_'

1.1k Views Asked by At

I am getting a undefined reference errors while building LSDMap (Locally Scaled Diffusion Map). What libraries contain the missing references?

demo@argo-2 LSDMap]$ make
mpifort -O3 -ffree-line-length-none   src/p_wlsdmap.o -o p_wlsdmap -L/home/demo/LSDMap -lparpack_LINUX -larpack_LINUX 
/home/demo/LSDMap/libparpack_LINUX.a(pdmout.o): In function `pdmout_':
pdmout.f:(.text+0x41): undefined reference to `blacs_gridinfo_'
/home/demo/LSDMap/libparpack_LINUX.a(pdsaupd.o): In function `pdsaupd_':
pdsaupd.f:(.text+0x678): undefined reference to `blacs_gridinfo_'
/home/demo/LSDMap/libparpack_LINUX.a(pdlamch.o): In function `pdlamch_':
pdlamch.f:(.text+0xf4): undefined reference to `dgamx2d_'
pdlamch.f:(.text+0x197): undefined reference to `dgamn2d_'
/home/demo/LSDMap/libparpack_LINUX.a(pdnorm2.o): In function `pdnorm2_':
pdnorm2.f:(.text+0x8f): undefined reference to `dgamx2d_'
pdnorm2.f:(.text+0x116): undefined reference to `dgsum2d_'
/home/demo/LSDMap/libparpack_LINUX.a(pivout.o): In function `pivout_':
pivout.f:(.text+0x3a): undefined reference to `blacs_gridinfo_'
/home/demo/LSDMap/libparpack_LINUX.a(pdvout.o): In function `pdvout_':
pdvout.f:(.text+0x3a): undefined reference to `blacs_gridinfo_'
/home/demo/LSDMap/libparpack_LINUX.a(pdsaup2.o): In function `pdsaup2_':
pdsaup2.f:(.text+0x11b9): undefined reference to `dgsum2d_'
/home/demo/LSDMap/libparpack_LINUX.a(pdgetv0.o): In function `pdgetv0_':
pdgetv0.f:(.text+0x2f8): undefined reference to `dgsum2d_'
pdgetv0.f:(.text+0x449): undefined reference to `dgsum2d_'
pdgetv0.f:(.text+0x609): undefined reference to `dgsum2d_'
/home/demo/LSDMap/libparpack_LINUX.a(pdsaitr.o): In function `pdsaitr_':
pdsaitr.f:(.text+0x77b): undefined reference to `dgsum2d_'
/home/demo/LSDMap/libparpack_LINUX.a(pdsaitr.o):pdsaitr.f:(.text+0x84f): more undefined references to `dgsum2d_' follow
/home/demo/LSDMap/libparpack_LINUX.a(pdlarnv.o): In function `pdlarnv_':
pdlarnv.f:(.text+0x38): undefined reference to `blacs_gridinfo_'
pdlarnv.f:(.text+0xb7): undefined reference to `igsum2d_'
/home/demo/LSDMap/libarpack_LINUX.a(second.o): In function `second_':
second.f:(.text+0x11): undefined reference to `etime_'
/home/demo/LSDMap/libarpack_LINUX.a(xerbla.o): In function `xerbla_':
xerbla.f:(.text+0x18): undefined reference to `s_wsfe'
xerbla.f:(.text+0x2f): undefined reference to `do_fio'
xerbla.f:(.text+0x46): undefined reference to `do_fio'
xerbla.f:(.text+0x50): undefined reference to `e_wsfe'
xerbla.f:(.text+0x64): undefined reference to `s_stop'
collect2: error: ld returned 1 exit status
make: *** [p_wlsdmap] Error 1
1

There are 1 best solutions below

0
On

They are from BLACS. Notice blacs_gridinfo_ and a simple google search identifies the other ones (like google.com/search?q=pdlarnv&oq=pdlarnv) as also from BLACS or ARPACK.

Etime() is a non-standard intrinsic in some compilers (https://gcc.gnu.org/onlinedocs/gfortran/ETIME.html) but your compiler doesn't know it. You will have to find some substitute for it.

Generally, I recommend you to search using your favourite search engine for the missing name without the underscores and it should not be difficult to find the corresponding library.