[petsc-users] Can't compile code after upgrading to VS2017 and Intel One API + PETSc 3.15

Mark Adams mfadams at lbl.gov
Wed Apr 14 05:01:34 CDT 2021


You have PETSC_ARCH=petsc-3.15.0_win64_impi_vs2017
I think you use PETSC_ARCH="" for installed libs.
When you do the install it will tell you exactly what to run to run
"check". You might double check that .
Mark

On Wed, Apr 14, 2021 at 4:10 AM TAY wee-beng <zonexo at gmail.com> wrote:

> Hi Barry,
>
> Ops, which dir should I run *export PETSC_DIR=`pwd`*
>
> Maybe I ran it wrongly initially at where the lib is stored:
> */cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017/*
>
> My source is at
>
> */cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0*
>
> Now I ran:
>
> *export PETSC_DIR=`pwd`*
> *cd src/ksp/ksp/tutorials/*
> *make ex2f*
>
> */cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0/lib/petsc/bin/win32fe/win32fe
> ifort -MD -Z7 -fpp  -MD -Z7 -fpp
> -I/cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0/include
> -I/cygdrive/d/wtay/Downloads/S*
> *ource_codes/petsc-3.15.0/petsc-3.15.0_win64_impi_vs2017/include
> -I/cygdrive/c/Program\ Files\ \(x86\)/Intel/oneAPI/mpi/latest/include
> ex2f.F90  -R/cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0/petsc-3.*
> *15.0_win64_impi_vs2017/lib
> -L/cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0/petsc-3.15.0_win64_impi_vs2017/lib
> -R/cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017/lib
> -L/cygdrive/d/Lib/petsc-3.15.0_win64_impi*
> *_vs2017/lib -lpetsc -lflapack -lfblas /cygdrive/c/Program\ Files\
> \(x86\)/Intel/oneAPI/mpi/latest/lib/debug/impi.lib /cygdrive/c/Program\
> Files\ \(x86\)/Intel/oneAPI/mpi/latest/lib/debug/impicxx.lib /cygdrive/c/*
> *Program\ Files\ \(x86\)/Intel/oneAPI/mpi/latest/lib/libmpi_ilp64.lib
> Gdi32.lib User32.lib Advapi32.lib Kernel32.lib Ws2_32.lib -o ex2f*
> *ifort: command line warning #10006: ignoring unknown option
> '/R/cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0/petsc-3.15.0_win64_impi_vs2017/lib'*
> *ifort: command line warning #10006: ignoring unknown option
> '/R/cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017/lib'*
> *ex2f.F90(80): error #6405: The same named entity from different modules
> and/or program units cannot be referenced.   [PETSC_COMM_WORLD]*
> *      call MPI_Comm_rank(PETSC_COMM_WORLD,rank,ierr)*
> *-------------------------^*
> *ex2f.F90(80): error #7112: This actual argument must not be the name of a
> procedure.   [PETSC_COMM_WORLD]*
> *      call MPI_Comm_rank(PETSC_COMM_WORLD,rank,ierr)*
> *-------------------------^*
> *ex2f.F90(81): error #6405: The same named entity from different modules
> and/or program units cannot be referenced.   [PETSC_COMM_WORLD]*
> *      call MPI_Comm_size(PETSC_COMM_WORLD,size,ierr)*
> *-------------------------^*
> *ex2f.F90(81): error #7112: This actual argument must not be the name of a
> procedure.   [PETSC_COMM_WORLD]*
> *      call MPI_Comm_size(PETSC_COMM_WORLD,size,ierr)*
> *-------------------------^*
> *ex2f.F90(93): error #6405: The same named entity from different modules
> and/or program units cannot be referenced.   [PETSC_COMM_WORLD]*
> *      call MatCreate(PETSC_COMM_WORLD,A,ierr)*
> *---------------------^*
> *ex2f.F90(93): error #7112: This actual argument must not be the name of a
> procedure.   [PETSC_COMM_WORLD]*
> *      call MatCreate(PETSC_COMM_WORLD,A,ierr)*
> *---------------------^*
> *ex2f.F90(159): error #6405: The same named entity from different modules
> and/or program units cannot be referenced.   [PETSC_COMM_WORLD]*
> *      call VecCreateMPI(PETSC_COMM_WORLD,PETSC_DECIDE,m*n,u,ierr)*
> *------------------------^*
> *ex2f.F90(159): error #7112: This actual argument must not be the name of
> a procedure.   [PETSC_COMM_WORLD]*
> *      call VecCreateMPI(PETSC_COMM_WORLD,PETSC_DECIDE,m*n,u,ierr)*
> *------------------------^*
> *ex2f.F90(171): error #6405: The same named entity from different modules
> and/or program units cannot be referenced.   [PETSC_COMM_WORLD]*
> *         call PetscRandomCreate(PETSC_COMM_WORLD,rctx,ierr)*
> *--------------------------------^*
> *ex2f.F90(171): error #7112: This actual argument must not be the name of
> a procedure.   [PETSC_COMM_WORLD]*
> *         call PetscRandomCreate(PETSC_COMM_WORLD,rctx,ierr)*
> *--------------------------------^*
> *ex2f.F90(193): error #6405: The same named entity from different modules
> and/or program units cannot be referenced.   [PETSC_COMM_WORLD]*
> *      call KSPCreate(PETSC_COMM_WORLD,ksp,ierr)*
> *---------------------^*
> *ex2f.F90(193): error #7112: This actual argument must not be the name of
> a procedure.   [PETSC_COMM_WORLD]*
> *      call KSPCreate(PETSC_COMM_WORLD,ksp,ierr)*
> *---------------------^*
> *ex2f.F90(319): error #6405: The same named entity from different modules
> and/or program units cannot be referenced.   [PETSC_COMM_WORLD]*
> *      call MPI_Comm_rank(PETSC_COMM_WORLD,rank,ierr)*
> *-------------------------^*
> *ex2f.F90(319): error #7112: This actual argument must not be the name of
> a procedure.   [PETSC_COMM_WORLD]*
> *      call MPI_Comm_rank(PETSC_COMM_WORLD,rank,ierr)*
> *-------------------------^*
> *compilation aborted for ex2f.F90 (code 1)*
> *make: ***
> [/cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0/lib/petsc/conf/test:23:
> ex2f] Error 1*
>
>
> I have also attached the "*make check*" output. Seems like there's
> problem with fortran compile.
>
> Thank you very much.
>
> Yours sincerely,
>
> ================================================
> TAY Wee-Beng 郑伟明 (Zheng Weiming)
> Personal research webpage: *http://tayweebeng.wixsite.com/website
> <http://tayweebeng.wixsite.com/website>*
> Youtube research showcase: *https://goo.gl/PtvdwQ <https://goo.gl/PtvdwQ>*
> linkedin: *https://www.linkedin.com/in/tay-weebeng
> <https://www.linkedin.com/in/tay-weebeng>*
> ================================================
> On 14/4/2021 3:47 pm, Barry Smith wrote:
>
>
>  Please send configure.log and make.log and the results of "make check" so
> we have the details on the build process.
>
> *No rule to make target
> '/cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017/share/petsc/examples/src/ksp/ksp/tutori**als/lib/petsc/conf/test'.
> Stop.*
>
>  Looks funny; it does not seem to separate the PETSc directory from its
> configuration directory appropriately.
>
>   Are you sure
>
> *export PETSC_DIR=`pwd`*
> *export PETSC_ARCH=petsc-3.15.0_win64_impi_vs2017*
>
> are run in the appropriate directory so that PETSC_DIR is correct.
>
> Barry
>
>
>
>
>
>
> On Apr 14, 2021, at 2:20 AM, TAY wee-beng <zonexo at gmail.com> wrote:
>
> Hi Mark,
>
> I'm not sure what's wrong.
>
> In VS2017 + Intel oneAPI,
>
> even after adding the full path:
>
> #include
> <D:/Lib/petsc-3.15.0_win64_impi_vs2017/include/petsc/finclude/petscksp.h>
>
> I got a new error:
>
> *Compiling with Intel® Fortran Compiler Classic 2021.2.0 [Intel(R) 64]...*
> *ex2f.F90*
> *petscksp.h(8): #error: can't find include file: petsc/finclude/petscpc.h*
> *ex2f : error PRJ0019: A tool returned an error code*
>
> Note that I have also specified the include dir in the properties:
>
> *Debug/;$(PETSC_DIR);$(PETSC_DIR)/include;$(I_MPI_ONEAPI_ROOT)/include*
>
> I also tried in cygwin:
>
> *export PETSC_DIR=`pwd`*
> *export PETSC_ARCH=petsc-3.15.0_win64_impi_vs2017*
> *make ex2f*
>
> I got the error:
>
> *$ make ex2f*
> *makefile:41:
> /cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017/share/petsc/examples/src/ksp/ksp/tutorials/lib/petsc/conf/te**st:
> No such file or directory*
> *make: *** No rule to make target
> '/cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017/share/petsc/examples/src/ksp/ksp/tutori**als/lib/petsc/conf/test'.
> Stop.*
>
> Somehow it just doesn't work. Building the library has no problem though.
>
> I wonder what's wrong.
>
>
> Thank you very much.
>
> Yours sincerely,
>
> ================================================
> TAY Wee-Beng 郑伟明 (Zheng Weiming)
> Personal research webpage: *http://tayweebeng.wixsite.com/website
> <http://tayweebeng.wixsite.com/website>*
> Youtube research showcase: *https://goo.gl/PtvdwQ <https://goo.gl/PtvdwQ>*
> linkedin: *https://www.linkedin.com/in/tay-weebeng
> <https://www.linkedin.com/in/tay-weebeng>*
> ================================================
> On 14/4/2021 9:31 am, Mark Adams wrote:
>
> PETSc has changed Fortran syntax since v3.9. You should upgrade. Look at
> examples for how to use modules etc.
>
>
> *Compiling with Intel® Fortran Compiler Classic 2021.2.0 [Intel(R) 64]...*
>> *global.F90*
>> *global.F90(3): #error: can't find include file: petsc/finclude/petsc.h*
>> *global.F90(937): #error: can't find include file: petsc/finclude/petsc.h*
>>
>
> It looks like you might not have your PETSC_ARCH variable set. You should
> get a full path to /finclude/petsc.h. Look at the compile line.
>
> There are PETSc examples that you you can make to see an example of a
> correct make. For example,
> > cd petsc/src/ksp/ksp/tutorials
>  > make ex2f
>
> should make an executable and you can look at the compile and link lines,
> and compare to what you are using.
>
> Mark
>
>>
>> --
>>
>> Thank you very much.
>>
>> Yours sincerely,
>>
>> ================================================
>> TAY Wee-Beng 郑伟明 (Zheng Weiming)
>> Personal research webpage: *http://tayweebeng.wixsite.com/website
>> <http://tayweebeng.wixsite.com/website>*
>> Youtube research showcase: *https://goo.gl/PtvdwQ
>> <https://goo.gl/PtvdwQ>*
>> linkedin: *https://www.linkedin.com/in/tay-weebeng
>> <https://www.linkedin.com/in/tay-weebeng>*
>> ================================================
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20210414/0dc3aff4/attachment-0001.html>


More information about the petsc-users mailing list