Hi,
I've attached an arch.make that I have used to compile siesta using
gfortran 4.3.2 and openmpi 1.3.2. It seems to work.
Best regards,
Frederico.
On 05/05/2010 03:04 PM, Henrik Löfås wrote:
> Dear Siesta list,
>
> I have some problem compiling siesta, I am using GNU Fortran (GCC)
> 4.4.2, and OpenMPI 1.4.2 also compiled with gfortran 4.4.2
>
> my error looks like:
>
> /beda/users/home/lofas/siesta-3.0-b/Src/alloc.F90:1705.38:
>
> MPI_Sum,0,MPI_Comm_World,MPIerror)
> 1
> Error: There is no specific subroutine for the generic 'mpi_reduce' at (1)
> /beda/users/home/lofas/siesta-3.0-b/Src/alloc.F90:1707.41:
>
> MPI_MaxLoc,0,MPI_Comm_World,MPIerror)
> 1
> Error: There is no specific subroutine for the generic 'mpi_reduce' at (1)
> /beda/users/home/lofas/siesta-3.0-b/Src/alloc.F90:1718.34:
>
> 1,MPI_Comm_World,MPIerror)
> 1
> Error: There is no specific subroutine for the generic 'mpi_send' at (1)
> /beda/users/home/lofas/siesta-3.0-b/Src/alloc.F90:1723.41:
>
> 1,MPI_Comm_World,Status,MPIerror)
> 1
> Error: There is no specific subroutine for the generic 'mpi_recv' at (1)
> make: *** [alloc.o] Error 1
>
>
> arch.make
>
> # 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.
> #
> SIESTA_ARCH=gfortran-nolibs
> #
> # Serial compilation without the need of any installed libraries.
> #
> FC=mpif90
> #
> FC_ASIS=$(FC)
> #
>
> FFLAGS=-O0 -DMPI
> FFLAGS_DEBUG= -g -Wall -Wextra
> LDFLAGS=
> RANLIB=echo
> LIBS=
> LIBS=-lmkl_scalapack_lp64 -lmkl_solver_lp64_sequential -lmkl_intel_lp64
> -lmkl_sequential -lmkl_core -lmkl_blacs_openmpi_lp64 -lmkl_lapack -lpthread
>
> SYS=nag
> FPPFLAGS=-DGFORTRAN -DFC_HAVE_FLUSH -DFC_HAVE_ABORT # Note this !!
> #COMP_LIBS=linalg.a
> MPI_INTERFACE=libmpi_f90.a
> MPI_INCLUDE=/beda/users/home/lofas/prog/openmpi/include/
>
> #
> .F.o:
> $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $<
> .f.o:
> $(FC) -c $(FFLAGS) $(INCFLAGS) $<
> .F90.o:
> $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $<
> .f90.o:
> $(FC) -c $(FFLAGS) $(INCFLAGS) $<
> #
>
>
> Have anyone some suggestions how to solve it?
>
> Best Regards
> Henrik
#
# 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-2006.
#
# 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=i686-pc-linux-gnu
FPP=
FPP_OUTPUT=
FC=mpif90
RANLIB=ranlib
SYS=nag
SP_KIND=4
DP_KIND=8
KINDS=$(SP_KIND) $(DP_KIND)
FFLAGS=-g #-Wunused
FPPFLAGS= -DFC_HAVE_FLUSH -DFC_HAVE_ABORT $(DEFS_MPI) $(DEFS_TS)
LDFLAGS=
ARFLAGS_EXTRA=
FCFLAGS_fixed_f=
FCFLAGS_free_f90=
FPPFLAGS_fixed_F=
FPPFLAGS_free_F90=
MKLPATH=/opt/intel/Compiler/11.1/038/mkl/lib/32
BLACS_LIBS=$(MKLPATH)/libmkl_blacs_openmpi.a
SCALAPACK_LIBS=$(MKLPATH)/libmkl_scalapack_core.a
COMP_LIBS=
NETCDF_LIBS=
NETCDF_INTERFACE=
MKLPATH=/opt/intel/Compiler/11.1/038/mkl/lib/32
LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(MKLPATH)/libmkl_solver_sequential.a
-Wl,--start-group $(MKLPATH)/libmkl_gf.a $(MKLPATH)/libmkl_sequential.a
$(MKLPATH)/libmkl_core.a -Wl,--end-group -lpthread
#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=./
DEFS_MPI=-DMPI
#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) $<