Hi,

Try linking bare BLACS library after BLACSCINIT and BLACSF77INIT.
Also I do suggest upgrading to a newer scalapack (2.0.x) that
come with blacs stuff already incorporated.

Good luck,

Roberto


On 12/20/2017 08:30 AM, Sunetra Das wrote:
Dear Siesta users,

I have been trying to install siesta-3.2-pl3 in a cluster computer in
parallel. I have already installed the same in another server computer,
but faced no issues then. But this time at the final 'make' command I am
getting the following list of errors:

/*==> Incorporating information about present compilation (compiler and
flags)
make[1]: Entering directory
`/home/joydeep/SIESTA-PARALLEL/siesta-3.2-pl3/Obj'
/home/joydeep/SIESTA-PARALLEL/mpich-install/bin/mpif90 -c -g -O2Â Â
`FoX/FoX-config --fcflags` -DMPI -DFC_HAVE_FLUSH -DFC_HAVE_ABORTÂ
compinfo.F90
make[1]: Leaving directory
`/home/joydeep/SIESTA-PARALLEL/siesta-3.2-pl3/Obj'
#@rm -f compinfo.F90

/home/joydeep/SIESTA-PARALLEL/mpich-install/bin/mpif90 -o siesta \
        automatic_cell.o atom_options.o arw.o  atomlwf.o bands.o
basis_enthalpy.o bessph.o bonds.o born_charge.o cgwf.o chkdim.o chkgmx.o
chempot.o coceri.o constr.o coxmol.o cross.o compute_norm.o
m_partial_charges.o denmat.o denmatlomem.o detover.o dfscf.o dhscf.o
diagon.o digcel.o fft3d.o diagg.o diagk.o diagk_file.o diagkp.o diag2g.o
diag2k.o diagpol.o diagsprl.o dipole.o dismin.o dnaefs.o doping.o dot.o
m_efield.o egandd.o ener3.o ener3lomem.o extrapolon.o fixed.o
flib_spline.o gradient.o gradientlomem.o grdsam.o hsparse.o idiag.oÂ
initatom.o inver.o iodm_netcdf.o iodmhs_netcdf.o iogrid_netcdf.o iolwf.o
iozm.o ipack.o iopipes.o iowfs_netcdf.o kgrid.o kgridinit.o kinefsm.o
ksv.o ksvinit.o linpack.o local_DOS.o madelung.o matel.o meshmatrix.o
memory.o meshsubs.o metaforce.o m_check_supercell.o m_filter.o
mulliken.o minvec.o m_pulay.o naefs.o new_dm.o normalize_dm.o ordern.o
outcell.o outcoor.o paste.o pdos.o pdosg.o pdosk.o pdoskp.o phirphi.o
pixmol.o plcharge.o projected_DOS.o propor.o ran3.o reclat.o redcel.o
reinit.o reord.o rhoofd.o rhoofdsp.o rhooda.o savepsi.o shaper.o timer.o
vmb.o vmat.o vmatsp.o volcel.o xc.o cellxc.o cdiag.o rdiag.o cgvc.o
cgvc_zmatrix.o m_convergence.o iocg.o ioeig.o iofa.o iokp.o iomd.o
typecell.o ofc.o poison.o readsp.o radfft.o write_md_record.o
kpoint_grid.o find_kgrid.o proximity_check.o state_init.o siesta_move.o
setup_hamiltonian.o compute_dm.o mixer.o scfconvergence_test.o
post_scf_work.o state_analysis.o write_subs.o siesta_init.o
struct_init.o siesta_options.o siesta_geom.o siesta_analysis.o
siesta_end.o siesta_forces.o siesta.o io.o sparse_matrices.o coor.o
atm_transfer.o broadcast_basis.o eggbox.o dsyevds.o zheevds.o optical.o
phirphi_opt.o reoptical.o transition_rate.o initparallel.o
show_distribution.o setspatial.o setatomnodes.o uncell.o cart2frac.o
obc.o precision.o sys.o m_cell.o recipes.o files.o spatial.o parallel.o
parallelsubs.o  parsing.o chemical.o xcmod.o atom.o atmparams.o
m_mpi_utils.o m_fdf_global.o m_history.o m_iorho.o atmfuncs.o listsc.o
memoryinfo.o m_memory.o sorting.o atomlist.o atm_types.o old_atmfuncs.o
radial.o alloc.o phonon.o spher_harm.o periodic_table.o version.o
timestamp.o basis_types.o xml.o pseudopotential.o basis_specs.o
basis_io.o onmod.o densematrix.o writewave.o on_subs.o fermid.o
m_broyddj.o electrostatic.o mneighb.o globalise.o siesta_cmlsubs.o
siesta_cml.o units.o zmatrix.o m_broyden_mixing.o forhar.o m_walltime.o
m_wallclock.o m_iostruct.o nlefsm.o overfsm.o overlap.o conjgr.o
conjgr_old.o m_energies.o m_steps.o m_broyddj_nocomm.o broyden_optim.o
ioxv.o dynamics.o md_out.o molecularmechanics.o  zm_broyden_optim.o
cell_broyden_optim.o remove_intramol_pressure.o m_ntm.o m_dipol.oÂ
m_kinetic.o  m_rmaxh.o m_forces.o m_stress.o m_eo.o m_spin.o m_gamma.o
m_hsx.o m_fire.o get_target_stress.o fire_optim.o zm_fire_optim.o
cell_fire_optim.o m_fire_para.o m_fire_mixing.o write_raw_efs.o m_iodm.o
m_sparse.o kpoint_pdos.o domain_decom.o schecomm.o printmatrix.o qsort.o
mmio.o pspltm1.o lenstr.o setup_ordern_indexes.o nag.o pxf.o libfdf.aÂ
libxmlparser.a libmpi_f90.a\
               dc_lapack.a `FoX/FoX-config --libs --wcml`
/home/joydeep/SIESTA-PARALLEL/scalapack-1.8.0/libscalapack.a
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacsCinit_MPI-LINUX-0.a
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacsF77init_MPI-LINUX-0.a
/home/joydeep/SIESTA-PARALLEL/lapack-3.5.0/liblapack.a
/home/joydeep/SIESTA-PARALLEL/BLAS-3.5.0/blas_LINUX.aÂ
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(BI_BlacsAbort.o):
In function `BI_BlacsAbort':
BI_BlacsAbort.c:(.text+0x1e): undefined reference to `ompi_mpi_comm_world'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(igesd2d_.o):
In function `igesd2d_':
igesd2d_.c:(.text+0x2b): undefined reference to `ompi_mpi_int'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgesd2d_.o):
In function `dgesd2d_':
dgesd2d_.c:(.text+0x2b): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(igerv2d_.o):
In function `igerv2d_':
igerv2d_.c:(.text+0x2b): undefined reference to `ompi_mpi_int'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgerv2d_.o):
In function `dgerv2d_':
dgerv2d_.c:(.text+0x2b): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(igebs2d_.o):
In function `igebs2d_':
igebs2d_.c:(.text+0xb0): undefined reference to `ompi_mpi_int'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgebs2d_.o):
In function `dgebs2d_':
dgebs2d_.c:(.text+0xb0): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(igebr2d_.o):
In function `igebr2d_':
igebr2d_.c:(.text+0xbe): undefined reference to `ompi_mpi_int'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgebr2d_.o):
In function `dgebr2d_':
dgebr2d_.c:(.text+0xbe): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dtrbs2d_.o):
In function `dtrbs2d_':
dtrbs2d_.c:(.text+0xd7): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dtrbr2d_.o):
In function `dtrbr2d_':
dtrbr2d_.c:(.text+0xe3): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(igsum2d_.o):
In function `igsum2d_':
igsum2d_.c:(.text+0x16b): undefined reference to `ompi_mpi_int'
igsum2d_.c:(.text+0x173): undefined reference to `ompi_mpi_int'
igsum2d_.c:(.text+0x390): undefined reference to `ompi_mpi_op_sum'
igsum2d_.c:(.text+0x395): undefined reference to `ompi_mpi_int'
igsum2d_.c:(.text+0x478): undefined reference to `ompi_mpi_op_sum'
igsum2d_.c:(.text+0x480): undefined reference to `ompi_mpi_int'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgsum2d_.o):
In function `dgsum2d_':
dgsum2d_.c:(.text+0x169): undefined reference to `ompi_mpi_double'
dgsum2d_.c:(.text+0x171): undefined reference to `ompi_mpi_double'
dgsum2d_.c:(.text+0x2d8): undefined reference to `ompi_mpi_op_sum'
dgsum2d_.c:(.text+0x2dd): undefined reference to `ompi_mpi_double'
dgsum2d_.c:(.text+0x498): undefined reference to `ompi_mpi_op_sum'
dgsum2d_.c:(.text+0x4a0): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(igamx2d_.o):
In function `igamx2d_':
igamx2d_.c:(.text+0x354): undefined reference to `ompi_mpi_int'
igamx2d_.c:(.text+0x360): undefined reference to `ompi_mpi_unsigned_short'
igamx2d_.c:(.text+0x495): undefined reference to `ompi_mpi_int'
igamx2d_.c:(.text+0x49d): undefined reference to `ompi_mpi_int'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgamx2d_.o):
In function `dgamx2d_':
dgamx2d_.c:(.text+0x354): undefined reference to `ompi_mpi_double'
dgamx2d_.c:(.text+0x360): undefined reference to `ompi_mpi_unsigned_short'
dgamx2d_.c:(.text+0x495): undefined reference to `ompi_mpi_double'
dgamx2d_.c:(.text+0x49d): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(igamn2d_.o):
In function `igamn2d_':
igamn2d_.c:(.text+0x354): undefined reference to `ompi_mpi_int'
igamn2d_.c:(.text+0x360): undefined reference to `ompi_mpi_unsigned_short'
igamn2d_.c:(.text+0x495): undefined reference to `ompi_mpi_int'
igamn2d_.c:(.text+0x49d): undefined reference to `ompi_mpi_int'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgamn2d_.o):
In function `dgamn2d_':
dgamn2d_.c:(.text+0x354): undefined reference to `ompi_mpi_double'
dgamn2d_.c:(.text+0x360): undefined reference to `ompi_mpi_unsigned_short'
dgamn2d_.c:(.text+0x495): undefined reference to `ompi_mpi_double'
dgamn2d_.c:(.text+0x49d): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(blacs_get_.o):
In function `blacs_get_':
blacs_get_.c:(.text+0x92): undefined reference to `ompi_mpi_comm_world'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(blacs_gridmap_.o):
In function `blacs_gridmap_':
blacs_gridmap_.c:(.text+0xe9): undefined reference to `ompi_mpi_comm_null'
blacs_gridmap_.c:(.text+0x3a7): undefined reference to `ompi_mpi_float'
blacs_gridmap_.c:(.text+0x3cc): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(igesd2d_.C):
In function `Cigesd2d':
igesd2d_.c:(.text+0x29): undefined reference to `ompi_mpi_int'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgesd2d_.C):
In function `Cdgesd2d':
dgesd2d_.c:(.text+0x29): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(igerv2d_.C):
In function `Cigerv2d':
igerv2d_.c:(.text+0x29): undefined reference to `ompi_mpi_int'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgerv2d_.C):
In function `Cdgerv2d':
dgerv2d_.c:(.text+0x29): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgebs2d_.C):
In function `Cdgebs2d':
dgebs2d_.c:(.text+0xa5): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgebr2d_.C):
In function `Cdgebr2d':
dgebr2d_.c:(.text+0xaa): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(dgsum2d_.C):
In function `Cdgsum2d':
dgsum2d_.c:(.text+0x118): undefined reference to `ompi_mpi_double'
dgsum2d_.c:(.text+0x120): undefined reference to `ompi_mpi_double'
dgsum2d_.c:(.text+0x251): undefined reference to `ompi_mpi_op_sum'
dgsum2d_.c:(.text+0x256): undefined reference to `ompi_mpi_double'
dgsum2d_.c:(.text+0x460): undefined reference to `ompi_mpi_op_sum'
dgsum2d_.c:(.text+0x468): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(igamn2d_.C):
In function `Cigamn2d':
igamn2d_.c:(.text+0x33b): undefined reference to `ompi_mpi_int'
igamn2d_.c:(.text+0x347): undefined reference to `ompi_mpi_unsigned_short'
igamn2d_.c:(.text+0x44a): undefined reference to `ompi_mpi_int'
igamn2d_.c:(.text+0x452): undefined reference to `ompi_mpi_int'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(blacs_get_.C):
In function `Cblacs_get':
blacs_get_.c:(.text+0x5f): undefined reference to `ompi_mpi_comm_world'
blacs_get_.c:(.text+0x92): undefined reference to `ompi_mpi_comm_world'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(Cblacs_gridmap_.C):
In function `Cblacs_gridmap':
blacs_gridmap_.c:(.text+0x139): undefined reference to `ompi_mpi_comm_null'
blacs_gridmap_.c:(.text+0x3f0): undefined reference to `ompi_mpi_float'
blacs_gridmap_.c:(.text+0x415): undefined reference to `ompi_mpi_double'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(Csys2blacs_handle_.C):
In function `Csys2blacs_handle':
sys2blacs_handle_.c:(.text+0x20): undefined reference to
`ompi_mpi_comm_null'
sys2blacs_handle_.c:(.text+0x79): undefined reference to
`ompi_mpi_comm_null'
sys2blacs_handle_.c:(.text+0xa5): undefined reference to
`ompi_mpi_comm_null'
sys2blacs_handle_.c:(.text+0xd6): undefined reference to
`ompi_mpi_comm_world'
sys2blacs_handle_.c:(.text+0x199): undefined reference to
`ompi_mpi_comm_null'
sys2blacs_handle_.c:(.text+0x1ad): undefined reference to
`ompi_mpi_comm_null'
sys2blacs_handle_.c:(.text+0x1c1): undefined reference to
`ompi_mpi_comm_null'
sys2blacs_handle_.c:(.text+0x1d5): undefined reference to
`ompi_mpi_comm_null'
sys2blacs_handle_.c:(.text+0x1e9): undefined reference to
`ompi_mpi_comm_null'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(Csys2blacs_handle_.C):sys2blacs_handle_.c:(.text+0x1fa):
more undefined references to `ompi_mpi_comm_null' follow
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(Csys2blacs_handle_.C):
In function `Csys2blacs_handle':
sys2blacs_handle_.c:(.text+0x2c0): undefined reference to
`ompi_mpi_comm_world'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(Csys2blacs_handle_.C):
In function `.LC2':
sys2blacs_handle_.c:(.rodata.cst8+0x0): undefined reference to
`ompi_mpi_comm_null'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(Cblacs2sys_handle_.C):
In function `Cblacs2sys_handle':
blacs2sys_handle_.c:(.text+0x2f): undefined reference to
`ompi_mpi_comm_null'
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a(BI_Pack.o):
In function `BI_Pack':
BI_Pack.c:(.text+0x56): undefined reference to `ompi_mpi_packed'
collect2: error: ld returned 1 exit status
make: *** [siesta] Error 1
*/
I have installed all other necessary softwares to be loaded before this.
The arch.make file used by me is given below:
/*
#
# This file is part of the SIESTA package.
#
# Copyright (c) Fundacion General Universidad Autonoma de Madrid:
# E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal
# and J.M.Soler, 1996- .
#
# Use of this software constitutes agreement with the full conditions
# given in the SIESTA license, as signed by all legitimate users.
#
.SUFFIXES:
.SUFFIXES: .f .F .o .a .f90 .F90

SIESTA_ARCH=x86_64-unknown-linux-gnu--unknown

FPP=
FPP_OUTPUT=
FC=/home/joydeep/SIESTA-PARALLEL/mpich-install/bin/mpif90
RANLIB=ranlib

SYS=nag

SP_KIND=4
DP_KIND=8
KINDS=$(SP_KIND) $(DP_KIND)

FFLAGS=-g -O2
FPPFLAGS= -DMPI -DFC_HAVE_FLUSH -DFC_HAVE_ABORT
LDFLAGS=

ARFLAGS_EXTRA=

FCFLAGS_fixed_f=
FCFLAGS_free_f90=
FPPFLAGS_fixed_F=
FPPFLAGS_free_F90=
BLAS_LIBS=/home/joydeep/SIESTA-PARALLEL/BLAS-3.5.0/blas_LINUX.a
LAPACK_LIBS=/home/joydeep/SIESTA-PARALLEL/lapack-3.5.0/liblapack.a
BLACS_LIBS=/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacsCinit_MPI-LINUX-0.a
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacs_MPI-LINUX-0.a
/home/joydeep/SIESTA-PARALLEL/BLACS/LIB/blacsF77init_MPI-LINUX-0.a

SCALAPACK_LIBS=/home/joydeep/SIESTA-PARALLEL/scalapack-1.8.0/libscalapack.a

COMP_LIBS=dc_lapack.a

NETCDF_LIBS=
NETCDF_INTERFACE=

LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS)
$(NETCDF_LIBS)

#SIESTA needs an F90 interface to MPI
#This will give you SIESTA's own implementation
#If your compiler vendor offers an alternative, you may change
#to it here.
MPI_INTERFACE=libmpi_f90.a
MPI_INCLUDE=.

#Dependency rules are created by autoconf according to whether
#discrete preprocessing is necessary or not.
.F.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS)
$(FPPFLAGS_fixed_F)Â  $<
.F90.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS)
$(FPPFLAGS_free_F90) $<
.f.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f)  $<
.f90.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90)  $<*/


Any suggestion would be appreciated. Please help me in solving the
issue. Thank you in advance.

Regards,
Sunetra Das

Responder a