[petsc-users] VecGetArrayReadF90 and VecRestoreArrayReadF90 not found on link

Satish Balay balay.anl at fastmail.org
Sun Mar 23 21:32:42 CDT 2025


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 at 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
> > -- 
> > 
> > 
> 
> 


More information about the petsc-users mailing list