[petsc-users] Error compiling code when upgrading from 3.1p8 to 3.2p5

Satish Balay balay at mcs.anl.gov
Sun Nov 27 15:30:23 CST 2011


check http://www.mcs.anl.gov/petsc/documentation/changes/32.html

-> Changed PetscTruth to PetscBool

satish

On Sun, 27 Nov 2011, TAY wee-beng wrote:

> Hi,
> 
> I have trouble compiling my Fortran codes when I upgrade PETSc  from 3.1p8 to
> 3.2p5.
> 
> My code is something like this:
> 
> module global_data
> 
> use nrtype
> 
> implicit none
> 
> save
> 
> #include "finclude/petsc.h90"
> 
> !grid variables
> 
> integer :: size_x,size_y,size_z,grid_type
> !size_x1,size_x2,size_x3,size_y1,size_y2,size_y3
> 
> real(8), allocatable ::
> x(:),y(:),z(:),xu(:),yu(:),zu(:),xv(:),yv(:),zv(:),xw(:),yw(:),zw(:),c_cx(:),cu_cx(:),c_cy(:),cv_cy(:),c_cz(:),cw_cz(:)
> 
> !solver variables
> 
> ...
> 
> I tried after compiling with the new 3.2p5 and got the following error:
> 
> /opt/openmpi-1.5.3/bin/mpif90 -c -g -debug all -implicitnone -warn unused
> -fp-stack-check -heap-arrays -ftrapuv -check pointers -O0 -save -w90 -w -w95
> -O0   -I/home/wtay/Lib/petsc-3.2-p5_mumps_debug/include
> -I/home/wtay/Lib/petsc-3.2-p5_mumps_debug/include -I/opt/openmpi-1.5.3/include
> -o global.o global.F90
> global.F90(205): error #5082: Syntax error, found IDENTIFIER 'FLGG' when
> expecting one of: ( % : . = =>
> PetscTruth flgg
> -----------^
> global.F90(205): error #6274: This statement must not appear in the
> specification part of a module
> PetscTruth flgg
> ^
> global.F90(207): error #6236: A specification statement cannot appear in the
> executable section.
> integer(kind=selected_int_kind(5)) reason
> ^
> global.F90(209): error #6236: A specification statement cannot appear in the
> executable section.
> integer(kind=selected_int_kind(10)) i_vec
> ^
> global.F90(213): error #6236: A specification statement cannot appear in the
> executable section.
> integer ::
> myid,num_procs,ksta,kend,ksta_ext,kend_ext,ksta_ext0,ksta2,kend2,kend3
> ^
> global.F90(215): error #6236: A specification statement cannot appear in the
> executable section.
> integer ::
> ijk_sta_p,ijk_end_p,ijk_sta_m,ijk_end_m,ijk_sta_mx,ijk_end_mx,ijk_sta_my,ijk_end_my,ijk_sta_mz,ijk_end_mz
> ^
> global.F90(217): error #6236: A specification statement cannot appear in the
> executable section.
> character(2) :: procs
> ^
> global.F90(205): error #6404: This name does not have a type, and must have an
> explicit type.   [PETSCTRUTH]
> PetscTruth flgg
> ^
> global.F90(205): error #6404: This name does not have a type, and must have an
> explicit type.   [FLGG]
> PetscTruth flgg
> -----------^
> global.F90(229): error #6404: This name does not have a type, and must have an
> explicit type.   [KSTA]
> ksta=myid*(size_z/num_procs)+1; kend=(myid+1)*(size_z/num_procs)
> 
> 
> May I know what's wrong?
> 
> Thanks!
> 
> 



More information about the petsc-users mailing list