Perhaps:

#define XXXF90() XXX()


Eventhough it won't give deprecated message to user - it will get the code 
compiling. [and these routines don't need to go away]

Satish


On Sun, 23 Mar 2025, Barry Smith wrote:

> 
>    With the update for the Fortran binding all the XXXF90 routines have been 
> renamed to not include the F90 suffix. 
> 
>     Barry
> 
>    I tried to provide deprecated versions but found it was too difficult to 
> keep the old name routines also.
> 
> > On Mar 23, 2025, at 8:35 PM, Sanjay Govindjee via petsc-users 
> > <petsc-users@mcs.anl.gov> wrote:
> > 
> > Working off the main branch, I am trying to compile a code that uses 
> > VecGetArrayReadF90 and VecRestoreArrayReadF90.
> > The subroutines all compile but at link, I am encountering
> > Undefined symbols for architecture x86_64:
> >   "_vecgetarrayreadf90_", referenced from:
> >       _parbmat_ in parbmat.o
> >       _psprojb_ in psprojb.o
> >       _psubsp_ in psubsp.o
> >       _usolve_ in usolve.o
> >       _paropm_ in libparpack.a(paropm.o)
> >       _pminvsqr_ in libparpack.a(pminvsqr.o)
> >       _parkv_ in libparpack.a(parkv.o)
> >       ...
> >   "_vecrestorearrayreadf90_", referenced from:
> >       _parbmat_ in parbmat.o
> >       _psprojb_ in psprojb.o
> >       _psubsp_ in psubsp.o
> >       _usolve_ in usolve.o
> >       _paropm_ in libparpack.a(paropm.o)
> >       _pminvsqr_ in libparpack.a(pminvsqr.o)
> >       _parkv_ in libparpack.a(parkv.o)
> > Searching the repo I do not see these any place (the closest is 
> > DMDAVecGetArrayReadF90 and DMDAVecRestoreArrayReadF90).
> > I do see VecGetArrayRead and VecRestoreArrayRead, which will resolve my 
> > linking issues, but I recall that these were supposed to be depricated in 
> > favor of the ...ReadF90 version.
> > 
> > -sanjay
> > -- 
> > 
> > 
> 
> 

Reply via email to