[petsc-dev] openmp

Svetlana Tkachenko svetlana.tkachenko at fastmail.fm
Wed Nov 6 00:25:14 CST 2013


I have configured petsc-dev (downloaded it today) with these options, and a small example. It appears to fail to compile without MPI with the error message:

./configure --with-cc=gcc --with-fc=gfortran  --download-f-blas-lapack --with-openmp --with-mpi=0

~/dev/test/petsc $ echo $LD_LIBRARY_PATH
/home/<username>/petsc/linux-amd64/lib:/opt/openmpi/lib
~/dev/test/petsc $ cat solver.f
        subroutine solver()
#include <finclude/petscsys.h>

          PetscErrorCode ierr
          print *, "Entered petsc."

          ! Init PETSc
          call PetscInitialize(PETSC_NULL_CHARACTER,ierr)
          CHKERRQ(ierr)
          print *, "Init done."

          ! Finalise PETSc
          call PetscFinalize(ierr)
          CHKERRQ(ierr)
          print *, "Finalized."
         end
~/dev/test/petsc $ cat myexample.f
       program myexample

           call solver
       end
~/dev/test/petsc $ cat makefile
include ${PETSC_DIR}/conf/variables

myexample: myexample.o solver.o ; gfortran -o myexample myexample.o solver.o -lpetsc -L${PETSC_DIR}/${PETSC_ARCH}/lib -fopenmp
solver.o: ; gfortran -c -cpp -I${PETSC_DIR}/include -O0 solver.f -lpetsc -I${PETSC_DIR}/${PETSC_ARCH}/include -L${PETSC_DIR}/${PETSC_ARCH}/lib -lpetsc -fopenmp
myexample.o: ; gfortran -c -cpp -I${PETSC_DIR}/include -O0 myexample.f -lpetsc -I${PETSC_DIR}/${PETSC_ARCH}/include -L${PETSC_DIR}/${PETSC_ARCH}/lib -lpetsc -fopenmp
~/dev/test/petsc $ make
gfortran -c -cpp -I/home/<username>/petsc/include -O0 myexample.f -lpetsc -I/home/<username>/petsc/linux-amd64/include -L/home/<username>/petsc/linux-amd64/lib -lpetsc -fopenmp
gfortran -c -cpp -I/home/<username>/petsc/include -O0 solver.f -lpetsc -I/home/<username>/petsc/linux-amd64/include -L/home/<username>/petsc/linux-amd64/lib -lpetsc -fopenmp
In file included from solver.f:3:
/home/<username>/petsc/include/finclude/petscsys.h:10: error: mpif.h: No such file or directory
/home/<username>/petsc/include/finclude/petscsys.h:163.29:
    Included at solver.f:3:

      parameter(MPIU_SCALAR = MPI_DOUBLE_PRECISION)
                             1
Error: Parameter 'mpi_double_precision' at (1) has not been declared or is a variable, which does not reduce to a constant expression
/home/<username>/petsc/include/finclude/petscsys.h:171.30:
    Included at solver.f:3:

      parameter(MPIU_INTEGER = MPI_INTEGER)
                              1
Error: Parameter 'mpi_integer' at (1) has not been declared or is a variable, which does not reduce to a constant expression
make: *** [solver.o] Error 1
~/dev/test/petsc $ 



More information about the petsc-dev mailing list