[petsc-dev] What needs to be done before a release?
Satish Balay
balay at mcs.anl.gov
Fri Jun 1 13:10:38 CDT 2012
On Fri, 1 Jun 2012, Blaise Bourdin wrote:
>
> On Jun 1, 2012, at 11:44 AM, Satish Balay wrote:
>
> > Ok - nightly builds on opensolaris has the following error.
> >
> > character(kind=c_char),pointer :: nullc => null()
> > Character(kind=C_char,len=99),Dimension(:),Pointer::list1
> >
> >>>>>>>>>>>>>>>>>>>>>>>
> > /export/home/petsc/soft/mpich2-1.2.1p1/bin/mpif90 -D__INSDIR__="" -O -moddir=include -M/export/home/petsc/petsc33/include -M/export/home/petsc/petsc33/arch-opensolaris-pkgs-opt/include -M/export/home/petsc/soft/mpich2-1.2.1p1/include -I/export/home/petsc/petsc33/include -I/export/home/petsc/petsc33/arch-opensolaris-pkgs-opt/include -I/export/home/petsc/soft/mpich2-1.2.1p1/include -c /export/home/petsc/petsc33/src/sys/objects/f2003-src/fsrc/optionenum.F -o CMakeFiles/petsc.dir/src/sys/objects/f2003-src/fsrc/optionenum.F.o
> >
> > CArray = (/(c_loc(list1(i)),i=1,Len),c_loc(nullc)/)
> > ^
> > "/export/home/petsc/petsc33/src/sys/objects/f2003-src/fsrc/optionenum.F", Line = 33, Column = 25: ERROR: C_LOC function argument must be a variable that has the TARGET attribute and is interoperable, or an allocated allocatable variable that has the target attribute and has interoperable type and type parameters.
> > ^
> > "/export/home/petsc/petsc33/src/sys/objects/f2003-src/fsrc/optionenum.F", Line = 33, Column = 50: ERROR: C_LOC function argument must be a variable that has the TARGET attribute and is interoperable, or an allocated allocatable variable that has the target attribute and has interoperable type and type parameters.
> >
> > f90comp: 3218 SOURCE LINES
> > f90comp: 2 ERRORS, 0 WARNINGS, 0 OTHER MESSAGES, 0 ANSI
> > *** Error code 1
> > <<<<<<<<<<<<<<
> >
> > How to fix?
>
> What compiler is this?
petsc at n-gage:~/petsc33$ f90 -V
f90: Sun Fortran 95 8.3 SunOS_i386 Patch 127002-07 2009/05/18
Usage: f90 [ options ] files. Use 'f90 -flags' for details
petsc at n-gage:~/petsc33$
> I don't have access to any solaris box, and have pretty bad memories of sun's fortran compilers. My understanding of the C interoperability is that these are perfectly legal look at the example at http://fortranwiki.org/fortran/show/c_loc
>
> I pushed a change to bagenum.F Could you have a look and see if you get the same error in PetscBagRegisterEnum?
Don't have to commit experimental changes. If you give me diffs [via
e-mail] - I can compile and check the outcome.
Or I can make the configure test much stricter so that this compiler is rejected [for PETSC_USE_F2003]
Satish
>
> Also, this binding needs an explicit interface (technically, the old one too, but Barry's trick for getting farray length was a workaround the lack of explicit interface). I can't figure out where to put it. so for the moment, it is in ex5f90
>
>
> Blaise
>
>
> >
> > thanks,
> > Satish
> >
> >
> > On Thu, 31 May 2012, Satish Balay wrote:
> >
> >> Barry is looking at using this flag and reorganizing the f2003 code.
> >> [perhaps the interface functions that need this functionality won't be
> >> compiled selectively - based on this flag]
> >>
> >> Satish
> >>
> >> On Thu, 31 May 2012, Jed Brown wrote:
> >>
> >>> So how do we deal with this function not being implemented unless an F2003
> >>> compiler is used? Just #ifdef its body and produce a run-time error when an
> >>> old compiler is used? Satish, are you doing this?
> >>>
> >>> On Thu, May 31, 2012 at 11:36 AM, Satish Balay <balay at mcs.anl.gov> wrote:
> >>>
> >>>> Added configure check.
> >>>>
> >>>> http://petsc.cs.iit.edu/petsc/releases/BuildSystem-3.3/rev/a6a959d40d3d
> >>>>
> >>>> Satish
> >>>>
> >>>> On Thu, 31 May 2012, Jed Brown wrote:
> >>>>
> >>>>> And we have our first petsc-maint breakage due to this Fortran 2003
> >>>> thingy.
> >>>>>
> >>>>> On Thu, May 31, 2012 at 9:03 AM, Satish Balay <balay at mcs.anl.gov> wrote:
> >>>>>
> >>>>>> This code is using "use,intrinsic :: iso_c_binding"
> >>>>>>
> >>>>>> Isn't this a fortran 2003 thingy? Perhaps there should be a configure
> >>>>>> checks for it.
> >>>>>>
> >>>>>> Satish
> >>>>>>
> >>>>>> On Wed, 30 May 2012, Barry Smith wrote:
> >>>>>>
> >>>>>>>
> >>>>>>> Blaise,
> >>>>>>>
> >>>>>>> I have pushed PetscOptionsGetEnum() and PetscBagRegisterEnum()
> >>>> for
> >>>>>> f90 to petsc-dev tests are in src/sys/examples/tutorials
> >>>>>>>
> >>>>>>> Barry
> >>
> >
>
>
More information about the petsc-dev
mailing list