What has happened is we added some Fortran interfaces and turned them on by
default. So now more type checking is being done in Fortran than previously.
This is the interface definition
Subroutine PetscOptionsGetString(o,p,n,v,s,ierr)
USE_PETSCSYS_HIDE
PETSCOPTIONS_HIDE o
character(*) v
character(*) p,n
PetscBool s
PetscErrorCode ierr
End Subroutine
So in your code the n argument needs to be a PetscBool rather than an
integer. Note that the manual page use to have the wrong information about
this argument; it has been a PetscBool for a long time but since there was no
interface to check it everything compiled and ran fine with an integer there.
Barry
> On Oct 8, 2016, at 9:10 AM, Tabrez Ali <[email protected]> wrote:
>
> Hello
>
> Today (while using petsc-dev) I got the following error:
>
>
> call
> PetscOptionsGetString(Petsc_Null_Object,Petsc_Null_Character,'-f',input_file,n,ierr)
> 1
> Error: Type mismatch in argument āsā at (1); passed INTEGER(4) to LOGICAL(4)
> /home/stali/petsc-dev/arch-linux2-c-debug/lib/petsc/conf/petscrules:35:
> recipe for target 'main.o' failed
>
>
> It looks like some changes have been made to ""sys/objects/options.c" but I
> cannot find the updated documentation.
>
> Thanks in advance.
>
> Tabrez