For ex83f.F90:

>>>>>
balay@p1 /home/balay/test
$ ls
ex83f.F90
balay@p1 /home/balay/test
$ ls
ex83f.F90
balay@p1 /home/balay/test
$ export PETSC_DIR=$HOME/petsc
balay@p1 /home/balay/test
$ cp $PETSC_DIR/src/ksp/ksp/tests/makefile .
balay@p1 /home/balay/test
$ make ex83f
mpif90 -fPIC -Wall -ffree-line-length-none -ffree-line-length-0 
-Wno-lto-type-mismatch -Wno-unused-dummy-argument -g -O0   
-I/home/balay/petsc/include -I/home/balay/petsc/arch-linux-c-debug/include     
ex83f.F90  -Wl,-rpath,/home/balay/petsc/arch-linux-c-debug/lib 
-L/home/balay/petsc/arch-linux-c-debug/lib 
-Wl,-rpath,/home/balay/soft/mpich-4.0.1/lib -L/home/balay/soft/mpich-4.0.1/lib 
-Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/12 
-L/usr/lib/gcc/x86_64-redhat-linux/12 -lpetsc -llapack -lblas -lm -lX11 
-lstdc++ -ldl -lmpifort -lmpi -lgfortran -lm -lgfortran -lm -lgcc_s -lquadmath 
-lstdc++ -ldl -o ex83f
balay@p1 /home/balay/test
$ 
<<<<<<

Also when you are adding PETSc to your current project - are you using source 
files with .f or .f90 suffix? If so rename them to .F or .F90 suffix.

If you still have issues send more details - As Barry indicated - the makefile 
[with the sources compiled by this makefile] - and the compile log when you 
attempt to build these sources with this makefile.

Satish

On Thu, 3 Nov 2022, Barry Smith wrote:

> 
>  Please send your attempted makefile and we'll see if we can get it working.
> 
>   I am not sure if we can organize the include files as Fortran compiler 
> include files easily. We've always used the preprocessor approach. The Intel 
> compiler docs indicate the procedure for finding the Fortran compiler include 
> files 
> https://www.intel.com/content/www/us/en/develop/documentation/fortran-compiler-oneapi-dev-guide-and-reference/top/program-structure/use-include-files.html
>  is the same as for the preprocessor include files so I don't understand how 
> the using the Fortran compiler include file approach would make the makefiles 
> any simpler for users?
> 
> 
>   Barry
> 
> 
> > On Nov 3, 2022, at 8:58 PM, Jianbo Long <[email protected]> wrote:
> > 
> > Hello,
> > 
> > I'm struggling to make my FORTRAN code work with petsc as I cannot link the 
> > required header files (e.g., petscksp.h) and compiled library files to my 
> > FORTRAN code. 
> > 
> > Compiling petsc was not a problem. However, even with the fortran examples 
> > (see those on https://petsc.org/main/docs/manual/fortran/) and the guide on 
> > using petsc in c++ and fortran codes (see Section "Writing C/C++ or Fortran 
> > Applications" at https://petsc.org/main/docs/manual/getting_started/), I 
> > still cannot make my FORTRAN code work. 
> > 
> > The Fortran test code is exactly the example code ex83f.F90 (see attached 
> > files). Aftering following the 2nd method in the Guide (see the picture 
> > below), I still get errors:
> > 
> > petsc/finclude/petscksp.h: No such file or directory
> > 
> > Even if I set up the path of the header file correctly in my own makefile 
> > without using environment variables, I still can only find the file 
> > "petscksp.h" for my code. Of course, the trouble is that all other headers 
> > files required by KSP are recursively included in this petscksp.h file, and 
> > I have no way to link them together for my Fortran code. 
> > 
> > So, here are my questions:
> > 1) in the Guide, how exactly are we supposed to set up the environment 
> > variables  PETSC_DIR  and PETSC_ARCH ? More details and examples would be 
> > extremely helpful !
> > 2) Is there a way to get rid of the preprocessor statement 
> >  #include <petsc/finclude/petscvec.h>
> > when using c++/Fortran codes ?
> > 
> > For example, when using MUMPS package in a Fortran code, we can simply use 
> > compiler 'include', rather than a preprocessor, to extract all required 
> > variables for the user's codes :
> >   INCLUDE 'zmumps_struc.h'
> > where the header file zmumps_struc.h is already provided in the package. 
> > Similarly, I think it's much more portable and easier when using petsc in 
> > other codes if we can make it work to use petsc. 
> > 
> > (Note: similar issues were discussed before, see 
> > https://lists.mcs.anl.gov/mailman/htdig/petsc-users/2019-January/037499.html.
> >  Unfortunately, I have no clue about the solution archived there ...)
> > 
> > Any thoughts and solutions would be much appreciated !
> > 
> > Thanks,
> > Jianbo Long
> > 
> > <image.png>
> > <ex83f.F90>
> 
> 

Reply via email to