[petsc-users] Compiling problem after upgrading to PETSc 3.8.3

Matthew Knepley knepley at gmail.com
Wed Feb 21 05:25:50 CST 2018


On Tue, Feb 20, 2018 at 9:40 PM, TAY wee-beng <zonexo at gmail.com> wrote:

> Hi,
>
> Indeed, replacing tvec with t_vec solves the problem. Now I'm trying to
> debug step by step. I got into problem when calling:
>
> call DMCreateGlobalVector(da_u,u_global,ierr)
>
> The error is:
>
> [0]PETSC ERROR: --------------------- Error Message
> ----------------------------
> ----------------------------------
> [0]PETSC ERROR: Null argument, when expecting valid pointer
> [0]PETSC ERROR: Null Object: Parameter # 2
> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html
> for trou
> ble shooting.
> [0]PETSC ERROR: Petsc Release Version 3.8.3, Dec, 09, 2017
> [0]PETSC ERROR: C:\Obj_tmp\ibm3d_IIB_mpi\Debug\ibm3d_IIB_mpi.exe on a
> petsc-3.8.
> 3_win64_msmpi_vs2008 named 1C3YYY1-PC by tsltaywb Wed Feb 21 10:20:20 2018
> [0]PETSC ERROR: Configure options --with-cc="win32fe icl"
> --with-fc="win32fe ifo
> rt" --with-cxx="win32fe icl" --download-fblaslapack
> --with-mpi-include="[/cygdri
> ve/c/Program Files (x86)/Microsoft SDKs/MPI/Include,/cygdrive/c/Program
> Files (x....
>
> But all I changed is from:
>
> module global_data
> #include "petsc/finclude/petsc.h"
> use petsc
> use kdtree2_module
> implicit none
> save
> !grid variables
>
> integer :: size_x,s....
>
> ...
>
> to
>
> module global_data
> use kdtree2_module
> implicit none
> save
> #include "petsc/finclude/petsc.h90"
> !grid variables
> integer :: size_x,s...
>
> ...
>
> da_u, u_global were declared thru:
>
> DM  da_u,da_v,...
> DM  da_cu_types ...
> Vec u_local,u_global,v_local...
>
> So what could be the problem?
>

If you are using the latest release (or master) then


http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/UsingFortran.html

you include petsc.h not petsc.h90, and you need to 'use petsc' as well, so
the first form
looks correct, not the second.

  Thanks,

     Matt


>
> Thank you very much.
>
> Yours sincerely,
>
> ================================================
> TAY Wee-Beng (Zheng Weiming) 郑伟明
> Personal research webpage: http://tayweebeng.wixsite.com/website
> Youtube research showcase: https://www.youtube.com/channe
> l/UC72ZHtvQNMpNs2uRTSToiLA
> linkedin: www.linkedin.com/in/tay-weebeng
> ================================================
>
> On 20/2/2018 10:46 PM, Jose E. Roman wrote:
>
>> Probably the first error is produced by using a variable (mpi_comm) with
>> the same name as an MPI type.
>>
>> The second error I guess is due to variable tvec, since a Fortran type
>> tVec is now being defined in src/vec/f90-mod/petscvec.h
>>
>> Jose
>>
>>
>> El 20 feb 2018, a las 15:35, Smith, Barry F. <bsmith at mcs.anl.gov>
>>> escribió:
>>>
>>>
>>>    Please run a clean compile of everything and cut and paste all the
>>> output. This will make it much easier to debug than trying to understand
>>> your snippets of what is going wrong.
>>>
>>> On Feb 20, 2018, at 1:56 AM, TAY Wee Beng <tsltaywb at nus.edu.sg> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I was previously using PETSc 3.7.6 on different clusters with both Intel
>>>> Fortran and GNU Fortran. After upgrading, I met some problems when
>>>> trying to compile:
>>>>
>>>> On Intel Fortran:
>>>>
>>>> Previously, I was using:
>>>>
>>>> #include "petsc/finclude/petsc.h90"
>>>>
>>>> in *.F90 when requires the use of PETSc
>>>>
>>>> I read in the change log that h90 is no longer there and so I replaced
>>>> with #include "petsc/finclude/petsc.h"
>>>>
>>>> It worked. But I also have some *.F90 which do not use PETSc. However,
>>>> they use some modules which uses PETSc.
>>>>
>>>> Now I can't compile them. The error is :
>>>>
>>>> math_routine.f90(3): error #7002: Error in opening the compiled module
>>>> file.  Check INCLUDE paths.   [PETSC]
>>>> use mpi_subroutines
>>>>
>>>> mpi_subroutines is a module which uses PETSc, and it compiled w/o
>>>> problem.
>>>>
>>>> The solution is that I have to compile e.g.  math_routine.F90 as if they
>>>> use PETSc, by including PETSc include and lib files.
>>>>
>>>> May I know why this is so? It was not necessary before.
>>>>
>>>> Anyway, it managed to compile until it reached hypre.F90.
>>>>
>>>> Previously, due to some bugs, I have to compile hypre with the -r8
>>>> option. Also, I have to use:
>>>>
>>>> integer(8) mpi_comm
>>>>
>>>> mpi_comm = MPI_COMM_WORLD
>>>>
>>>> to make my codes work with HYPRE.
>>>>
>>>> But now, compiling gives the error:
>>>>
>>>> hypre.F90(11): error #6401: The attributes of this name conflict with
>>>> those made accessible by a USE statement.   [MPI_COMM]
>>>> integer(8) mpi_comm
>>>> --------------------------------------^
>>>> hypre.F90(84): error #6478: A type-name must not be used as a
>>>> variable.   [MPI_COMM]
>>>>    mpi_comm = MPI_COMM_WORLD
>>>> ----^
>>>> hypre.F90(84): error #6303: The assignment operation or the binary
>>>> expression operation is invalid for the data types of the two
>>>> operands.   [1140850688]
>>>>    mpi_comm = MPI_COMM_WORLD
>>>> ---------------^
>>>> hypre.F90(100): error #6478: A type-name must not be used as a
>>>> variable.   [MPI_COMM]
>>>>        call HYPRE_StructGridCreate(mpi_comm, 3, grid_hypre, ierr)
>>>> ...
>>>>
>>>> What's actually happening? Why can't I compile now?
>>>>
>>>> On GNU gfortran:
>>>>
>>>> I tried to use similar tactics as above here. However, when compiling
>>>> math_routine.F90, I got the error:
>>>>
>>>> math_routine.F90:1333:21:
>>>>
>>>> call subb(orig,vert1,tvec)
>>>>                     1
>>>> Error: Invalid procedure argument at (1)
>>>> math_routine.F90:1339:18:
>>>>
>>>> qvec = cross_pdt2(tvec,edge1)
>>>>                  1
>>>> Error: Invalid procedure argument at (1)
>>>> math_routine.F90:1345:21:
>>>>
>>>>     uu = dot_product(tvec,pvec)
>>>>                     1
>>>> Error: ‘vector_a’ argument of ‘dot_product’ intrinsic at (1) must be
>>>> numeric or LOGICAL
>>>> math_routine.F90:1371:21:
>>>>
>>>>     uu = dot_product(tvec,pvec)
>>>>
>>>> These errors were not present before. My variables are mostly vectors:
>>>>
>>>> real(8), intent(in) ::
>>>> orig(3),infinity(3),vert1(3),vert2(3),vert3(3),normal(3)
>>>>
>>>> real(8) :: uu,vv,dir(3)
>>>>
>>>> real(8) :: edge1(3),edge2(3),tvec(3),pvec(3),qvec(3),det,inv_det,epsilo
>>>> n,d,t
>>>>
>>>> I wonder what happened?
>>>>
>>>> Please advice.
>>>>
>>>>
>>>> --
>>>> Thank you very much.
>>>>
>>>> Yours sincerely,
>>>>
>>>> ================================================
>>>> TAY Wee-Beng 郑伟明
>>>> Research Scientist
>>>> Experimental AeroScience Group
>>>> Temasek Laboratories
>>>> National University of Singapore
>>>> T-Lab Building
>>>> 5A, Engineering Drive 1, #02-02
>>>> Singapore 117411
>>>> Phone: +65 65167330
>>>> E-mail: tsltaywb at nus.edu.sg
>>>> http://www.temasek-labs.nus.edu.sg/program/program_aeroexper
>>>> imental_tsltaywb.php
>>>> Personal research webpage: http://tayweebeng.wixsite.com/website
>>>> Youtube research showcase: https://www.youtube.com/channe
>>>> l/UC72ZHtvQNMpNs2uRTSToiLA
>>>> linkedin: www.linkedin.com/in/tay-weebeng
>>>> ================================================
>>>>
>>>>
>>>> ________________________________
>>>>
>>>> Important: This email is confidential and may be privileged. If you are
>>>> not the intended recipient, please delete it and notify us immediately; you
>>>> should not copy or use it for any purpose, nor disclose its contents to any
>>>> other person. Thank you.
>>>>
>>>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180221/813159af/attachment-0001.html>


More information about the petsc-users mailing list