[petsc-dev] What needs to be done before a release?
Blaise Bourdin
bourdin at lsu.edu
Fri Jun 1 12:37:25 CDT 2012
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? 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?
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
>>
>
--
Department of Mathematics and Center for Computation & Technology
Louisiana State University, Baton Rouge, LA 70803, USA
Tel. +1 (225) 578 1612, Fax +1 (225) 578 4276 http://www.math.lsu.edu/~bourdin
More information about the petsc-dev
mailing list