On Wed, 3 Mar 2021, Satish Balay via petsc-dev wrote:

> Sure - once any change works locally [for gcc and xlf]
> 
> When I try - I get a bunch of errors.. [yet to digest them.]

> > >>> Can you please give the following source code workaround a try?
> > >>> Since there is already "use petscvecdefdummy" at the module scope, one 
> > >>> workaround might be to remove the unnecessary "use petscvecdefdummy" in 
> > >>> vecnotequal and vecequals 
> > >>> and all similar procedures.
> > >>> 
> > >>> For example, the test case has:
> > >>>        module petscvecdef
> > >>>        use petscvecdefdummy
> > >>> ...
> > >>>        function vecnotequal(A,B)
> > >>>          use petscvecdefdummy
> > >>>          logical vecnotequal
> > >>>          type(tVec), intent(in) :: A,B
> > >>>          vecnotequal = (A%v .ne. B%v)
> > >>>        end function


Ok - try this suggestion:

diff --git a/src/vec/f90-mod/petscvecmod.F90 b/src/vec/f90-mod/petscvecmod.F90
index 0c447156b9..81968c7ca1 100644
--- a/src/vec/f90-mod/petscvecmod.F90
+++ b/src/vec/f90-mod/petscvecmod.F90
@@ -77,7 +77,6 @@
         use petscvecdefdummy
         interface operator(.ne.)
           function vecnotequal(A,B)
-            use petscvecdefdummy
             logical vecnotequal
             type(tVec), intent(in) :: A,B
           end function


>>>>>
          FC arch-linux-c-debug/obj/vec/f90-mod/petscvecmod.o
/home/balay/petsc/src/vec/f90-mod/petscvecmod.F90:81:22:

   81 |             type(tVec), intent(in) :: A,B
      |                      1
Error: Derived type ‘tvec’ at (1) is being used before it is defined
/home/balay/petsc/include/../src/vec/f90-mod/ftn-auto-interfaces/petscis.h90:2:10:

    2 |       use petscvecdef
      |          1
Fatal Error: Cannot open module file ‘petscvecdef.mod’ for reading at (1): No 
such file or directory
<<<<<<

Satish

Reply via email to