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

Satish Balay balay at mcs.anl.gov
Wed Apr 14 20:54:44 CDT 2021


1. You can avoid this complexity if you can use in-place install of PETSc [i.e do not use --prefix option to build PETSc]

2. For a prefix install - the following patch should fix the issue [i.e requires rerunning 'configure; make; make install']

diff --git a/config/BuildSystem/config/compilerOptions.py b/config/BuildSystem/config/compilerOptions.py
index bdfd209203..b2e02783d9 100644
--- a/config/BuildSystem/config/compilerOptions.py
+++ b/config/BuildSystem/config/compilerOptions.py
@@ -310,6 +310,7 @@ class CompilerOptions(config.base.Configure):
       if not status:
         if compiler.find('win32fe') > -1:
           version = '\\n'.join(output.split('\n')[0:2])
+          version = version.replace('\r','')
         else:
           #PGI/Windows writes an empty '\r\n' on the first line of output
           if output.count('\n') > 1 and output.split('\n')[0] == '\r':

3. For testing a prefix install - you would do:

cd /cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0
make check PETSC_DIR=/cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017 PETSC_ARCH=""

[these instructions are printed to the screen when you run 'make install'

Satish

On Thu, 15 Apr 2021, TAY wee-beng wrote:

> Hi Satish,
> 
> I tried a few things, not sure if it's correct. But it doesn't seem to work
> 
> I edit petscvariables in
> 
> D:\Lib\petsc-3.15.0_win64_impi_vs2017\lib\petsc\conf
> 
> and
> 
> D:\wtay\Downloads\Source_codes\petsc-3.15.0\petsc-3.15.0_win64_impi_vs2017\lib\petsc\conf
> 
> from:
> 
> C_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb 27,
> 2017 11:10:38 AM
> \nMicrosoft (R) C/C++ Optimizing Compiler Version 19.16.27045 for x64
> MPICC_SHOW = Unavailable
> Cxx_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb 27,
> 2017 11:10:38 AM
> \nMicrosoft (R) C/C++ Optimizing Compiler Version 19.16.27045 for x64
> MPICXX_SHOW = Unavailable
> FC_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb 27,
> 2017 11:10:38 AM
> \nIntel(R) Fortran Intel(R) 64 Compiler Classic for applications running on
> Intel(R) 64, Version 2021.2.0 Build 20210228_000000
> 
> to
> 
> C_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb 27,
> 2017 11:10:38 AM\nMicrosoft (R) C/C++ Optimizing Compiler Version
> 19.16.27045 for x64
> MPICC_SHOW = Unavailable
> Cxx_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb 27,
> 2017 11:10:38 AM\nMicrosoft (R) C/C++ Optimizing Compiler Version
> 19.16.27045 for x64
> MPICXX_SHOW = Unavailable
> FC_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb 27,
> 2017 11:10:38 AM\nIntel(R) Fortran Intel(R) 64 Compiler Classic for
> applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
> 
> Then in cygwin,
> 
> cd /cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017/share/petsc
> 
> export PETSC_DIR=`pwd`
> export PETSC_ARCH=petsc-3.15.0_win64_impi_vs2017
> make check
> 
> make: *** No rule to make target 'check'.  Stop.
> 
> Also:
> 
> /cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0
> 
> $ export PETSC_DIR=`pwd`
> export PETSC_ARCH=petsc-3.15.0_win64_impi_vs2017
> make check
> 
> petsc-3.15.0_win64_impi_vs2017/lib/petsc/conf/petscvariables:5: *** target
> pattern contains no '%'.  Stop.
> 
> Thank you very much.
> 
> Yours sincerely,
> 
> ================================================
> TAY Wee-Beng 郑伟明 (Zheng Weiming)
> Personal research webpage: _http://tayweebeng.wixsite.com/website_
> Youtube research showcase: _https://goo.gl/PtvdwQ_
> linkedin: _https://www.linkedin.com/in/tay-weebeng_
> ================================================
> 
> On 15/4/2021 9:22 am, Satish Balay wrote:
> > On Thu, 15 Apr 2021, TAY wee-beng wrote:
> >
> >> Hi Satish,
> >>
> >> Sorry, what do you mean by "manually fix up this file"?
> >>
> >> Should I edit the petscvariables file?
> > yes
> >> Do I need to rebuild the lib?
> > no
> >
> > After editing the file - run 'make check'
> >
> > Satish
> >
> >> I guess this problem is related to the new Intel oneAPI if I'm not wrong.
> >> No
> >> such problem previously.
> >>
> >> Thank you very much.
> >>
> >> Yours sincerely,
> >>
> >> ================================================
> >> TAY Wee-Beng 郑伟明 (Zheng Weiming)
> >> Personal research webpage: _http://tayweebeng.wixsite.com/website_
> >> Youtube research showcase: _https://goo.gl/PtvdwQ_
> >> linkedin: _https://www.linkedin.com/in/tay-weebeng_
> >> ================================================
> >>
> >> On 15/4/2021 9:06 am, Satish Balay wrote:
> >>> C_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb 27,
> >>> 2017 11:10:38 AM
> >>> \nMicrosoft (R) C/C++ Optimizing Compiler Version 19.16.27045 for x64
> >>> MPICC_SHOW = Unavailable
> >>> Cxx_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb
> >>> 27,
> >>> 2017 11:10:38 AM
> >>> \nMicrosoft (R) C/C++ Optimizing Compiler Version 19.16.27045 for x64
> >>> MPICXX_SHOW = Unavailable
> >>> FC_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb 27,
> >>> 2017 11:10:38 AM
> >>> \nIntel(R) Fortran Intel(R) 64 Compiler Classic for applications running
> >>> on
> >>> Intel(R) 64, Version 2021.2.0 Build 20210228_000000
> >>> <<<<
> >>>
> >>> I'm not sure what happened here. You might want to just manually fix up
> >>> this
> >>> file
> >>>
> >>> C_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb 27,
> >>> 2017 11:10:38 AM\nMicrosoft (R) C/C++ Optimizing Compiler Version
> >>> 19.16.27045 for x64
> >>> MPICC_SHOW = Unavailable
> >>> Cxx_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb
> >>> 27,
> >>> 2017 11:10:38 AM\nMicrosoft (R) C/C++ Optimizing Compiler Version
> >>> 19.16.27045 for x64
> >>> MPICXX_SHOW = Unavailable
> >>> FC_VERSION = Win32 Development Tool Front End, version 1.11.3 Mon, Feb 27,
> >>> 2017 11:10:38 AM\nIntel(R) Fortran Intel(R) 64 Compiler Classic for
> >>> applications running on Intel(R) 64, Version 2021.2.0 Build
> >>> 20210228_000000
> >>>
> >>> Satish
> >>>
> >>> On Thu, 15 Apr 2021, TAY wee-beng wrote:
> >>>
> >>>> Hi all,
> >>>>
> >>>> I have attached the req file
> >>>>
> >>>> Thank you very much.
> >>>>
> >>>> Yours sincerely,
> >>>>
> >>>> ================================================
> >>>> TAY Wee-Beng 郑伟明 (Zheng Weiming)
> >>>> Personal research webpage: _http://tayweebeng.wixsite.com/website_
> >>>> Youtube research showcase: _https://goo.gl/PtvdwQ_
> >>>> linkedin: _https://www.linkedin.com/in/tay-weebeng_
> >>>> ================================================
> >>>>
> >>>> On 14/4/2021 11:55 pm, Satish Balay wrote:
> >>>>> Please send the file
> >>>>> /cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017//lib/petsc/conf/petscvariables
> >>>>>
> >>>>> Satish
> >>>>>
> >>>>> On Wed, 14 Apr 2021, TAY wee-beng wrote:
> >>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> I redo the installation:
> >>>>>>
> >>>>>> /*Now to install the libraries do:*//*
> >>>>>> *//*make PETSC_DIR=/cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0
> >>>>>> PETSC_ARCH=petsc-3.15.0_win64_impi_vs2017 install*//*
> >>>>>> *//*=========================================*//*
> >>>>>> *//*
> >>>>>> *//*DELL-T7610+wtay at DELL-T7610
> >>>>>> /cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0*//*
> >>>>>> *//*$ make
> >>>>>> PETSC_DIR=/cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0
> >>>>>> PETSC_ARCH=petsc-3.15.0_win64_impi_vs2017 install*//*
> >>>>>> *//**** Using
> >>>>>> PETSC_DIR=/cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0
> >>>>>> PETSC_ARCH=petsc-3.15.0_win64_impi_vs2017 ****//*
> >>>>>> *//**** Installing PETSc at prefix location:
> >>>>>> /cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017  ****//*
> >>>>>> *//*====================================*//*
> >>>>>> *//*Install complete.*//*
> >>>>>> *//*Now to check if the libraries are working do (in current
> >>>>>> directory):*//*
> >>>>>> *//*make PETSC_DIR=/cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017
> >>>>>> PETSC_ARCH="" check*//*
> >>>>>> *//*====================================*//*
> >>>>>> *//*/usr/bin/make  --no-print-directory -f makefile
> >>>>>> PETSC_ARCH=petsc-3.15.0_win64_impi_vs2017
> >>>>>> PETSC_DIR=/cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0
> >>>>>> mpi4py-install
> >>>>>> petsc4py-install libmesh-install mfem-insta*//*
> >>>>>> *//*ll slepc-install hpddm-install amrex-install bamg-install*//*
> >>>>>> *//*make[2]: Nothing to be done for 'mpi4py-install'.*//*
> >>>>>> *//*make[2]: Nothing to be done for 'petsc4py-install'.*//*
> >>>>>> *//*make[2]: Nothing to be done for 'libmesh-install'.*//*
> >>>>>> *//*make[2]: Nothing to be done for 'mfem-install'.*//*
> >>>>>> *//*make[2]: Nothing to be done for 'slepc-install'.*//*
> >>>>>> *//*make[2]: Nothing to be done for 'hpddm-install'.*//*
> >>>>>> *//*make[2]: Nothing to be done for 'amrex-install'.*//*
> >>>>>> *//*make[2]: Nothing to be done for 'bamg-install'.*//*
> >>>>>> */
> >>>>>> DELL-T7610+wtay at DELL-T7610
> >>>>>> /cygdrive/d/wtay/Downloads/Source_codes/petsc-3.15.0
> >>>>>>
> >>>>>> I ran the check:
> >>>>>>
> >>>>>> /*$ make PETSC_DIR=/cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017
> >>>>>> PETSC_ARCH="" check*//*
> >>>>>> *//*/cygdrive/d/Lib/petsc-3.15.0_win64_impi_vs2017//lib/petsc/conf/petscvariables:5:
> >>>>>> *** missing separator.  Stop.*/
> >>>>>>
> >>>>>> Why is this happening?
> >>>>>>
> >>>>>> Thank you very much.
> >>>>>>
> >>>>>> Yours sincerely,
> >>>>>>
> >>>>>> ================================================
> >>>>>> TAY Wee-Beng 郑伟明 (Zheng Weiming)
> >>>>>> Personal research webpage: _http://tayweebeng.wixsite.com/website_
> >>>>>> Youtube research showcase: _https://goo.gl/PtvdwQ_
> >>>>>> linkedin: _https://www.linkedin.com/in/tay-weebeng_
> >>>>>> ================================================
> >>>>>>
> >>>>>> On 14/4/2021 6:01 pm, Mark Adams wrote:
> >>>>>>> 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
> >>>>>>> <mailto: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
> >>>>>>>>>        <mailto: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>_
> >>>>>>>>>>            ================================================
> >>>>>>>>>>
> >>
> 


More information about the petsc-users mailing list