[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