Compile errors with Mar2013 CosmoMC

Use of Cobaya. camb, CLASS, cosmomc, compilers, etc.
Jason Dossett
Posts: 97
Joined: March 19 2010
Affiliation: The University of Texas at Dallas
Contact:

Re: Compile errors with Mar2013 CosmoMC

Post by Jason Dossett » October 28 2013

Mario Acero wrote:Hi Antony,
Thanks for your suggestion. I though mpif90 was not exactly a compiler. In any case, I did change it by ifort:

Code: Select all

#Intel MPI
#these settings for ifort 13 and higher
#Can remove -xHost if your cluster is not uniform, or specify specific processor optimizations -x...
F90C    = ifort
FFLAGS  = -mkl -openmp -O3 -xHost -no-prec-div -fpp -DMPI
LAPACKL = -lmpi
and it actually goes further than before, but it does not work yet. This is the message I got:

Code: Select all

cd ./source && make all
make[1]: Entering directory `/home/macero/Documents/CosmoMC_PLANK/cosmomc/source'
cd ../camb && \
	make --file=Makefile_main libcamb_recfast.a \
	RECOMBINATION=recfast EQUATIONS=equations_ppf NONLINEAR=halofit_ppf
make[2]: Entering directory `/home/macero/Documents/CosmoMC_PLANK/cosmomc/camb'
ifort  -mkl -openmp -O3 -xHost -no-prec-div -fpp -DMPI  -DCLIK -c constants.f90
ifort  -mkl -openmp -O3 -xHost -no-prec-div -fpp -DMPI  -DCLIK -c utils.F90
utils.F90(950): error #5102: Cannot open include file 'mpif.h'
    include "mpif.h"
------------^
utils.F90(1033): error #6404: This name does not have a type, and must have an explicit type.   [MPI_COMM_WORLD]
   call mpi_comm_rank(mpi_comm_world,GetMPIrank,ierror)
----------------------^
utils.F90(1072): error #6404: This name does not have a type, and must have an explicit type.   [MPI_SUCCESS]
        if (ierror/=MPI_SUCCESS) stop 'MpiStat: MPI rank'
--------------------^
utils.F90(1089): error #6404: This name does not have a type, and must have an explicit type.   [MPI_STATUS_IGNORE]
       call MPI_IPROBE(0,0,MPI_COMM_WORLD,flag, MPI_STATUS_IGNORE,ierr)
------------------------------------------------^
utils.F90(1091): error #6404: This name does not have a type, and must have an explicit type.   [MPI_INTEGER]
             call MPI_RECV(i,1,MPI_INTEGER, 0,0,MPI_COMM_WORLD,status,ierr)
-------------------------------^
utils.F90(1083): error #6279: A specification expression object must be a dummy argument, a COMMON block object, or an object accessible through host or use association   [MPI_STATUS_SIZE]
     integer flag, ierr, STATUS(MPI_STATUS_SIZE)
--------------------------------^
utils.F90(1083): error #6404: This name does not have a type, and must have an explicit type.   [MPI_STATUS_SIZE]
     integer flag, ierr, STATUS(MPI_STATUS_SIZE)
--------------------------------^
utils.F90(2591): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [AMLUTILS]
  use AMLUtils
------^
utils.F90(2631): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [AMLUTILS]
   use AMLUtils
-------^
utils.F90(2623): error #6404: This name does not have a type, and must have an explicit type.   [FEEDBACK]
      if (Feedback > 0 ) write(*,'(" Random seeds:",1I6,",",1I6," rand_inst:",1I4)') ij,kl,rand_inst
----------^
compilation aborted for utils.F90 (code 1)
make[2]: *** [utils.o] Error 1
make[2]: Leaving directory `/home/macero/Documents/CosmoMC_PLANK/cosmomc/camb'
make[1]: *** [camb] Error 2
make[1]: Leaving directory `/home/macero/Documents/CosmoMC_PLANK/cosmomc/source'
make: *** [all] Error 2
As far as I understand, there would be a problem with mpi, but I know that the file "mpif.h" actually exists in my system, so what is happening?

On the other hand, let me say that I am using Ubuntu 13.04 and I installed the openMPI libraries by using the Synaptic Package Manager. I wonder if this could have something to do with my cosmomc compilation problem?
So, how can I proceed with the compilation using ifort (as recommended) but also the mpi function?

Thank you all.
Cheers,

Mario AAO.
Hi Mario,

If you are compiling with just ifort and not using MPI then you need to remove the -DMPI from FFLAGS, that will resolve the error messages you are seeing. Also remove -lmpi from LAPACKL

Best,
Jason

giancarlo de gasperis
Posts: 2
Joined: September 25 2004
Affiliation: Dipartimento di Fisica -- Universita' di Roma "Tor Vergata"

Compile errors with Mar2013 CosmoMC

Post by giancarlo de gasperis » April 07 2014

try to add in your makefile

export OMPI_FC = ifort

Post Reply