[petsc-users] Compiling program with program files dependencies (SLEPC )
Satish Balay
balay at mcs.anl.gov
Thu Apr 24 22:14:07 CDT 2014
petsc examples work fine.
send us the code that breaks. Also copy/paste the *complete* output from 'make' when
you attempt to compile this code.
Satish
On Thu, 24 Apr 2014, Barry Smith wrote:
>
> Try .F files instead of .F90 some Fortran compilers handle preprocessing in different ways for .F and .F90
>
> Please also send configure.log and make.log so we know what compilers etc you are using.
>
> Barry
>
> Note that we are using C pre processing directives,
>
> On Apr 24, 2014, at 7:57 PM, Steve Ndengue <steve.ndengue at gmail.com> wrote:
>
> > The results is the same with lower case letters...
> >
> >
> > On 04/24/2014 07:39 PM, Matthew Knepley wrote:
> >> On Thu, Apr 24, 2014 at 8:36 PM, Steve Ndengue <steve.ndengue at gmail.com> wrote:
> >> Thank you for the quick reply.
> >>
> >> It partly solved the problem; the PETSC and SLEPC files are now included in the compilation.
> >>
> >> However the Warning are now error messages!
> >> ***
> >> pgm_hatom_offaxis_cyl.F90:880:0: error: invalid preprocessing directive #INCLUDE
> >> pgm_hatom_offaxis_cyl.F90:887:0: error: invalid preprocessing directive #IF
> >> pgm_hatom_offaxis_cyl.F90:890:0: error: invalid preprocessing directive #ELSE
> >> pgm_hatom_offaxis_cyl.F90:893:0: error: invalid preprocessing directive #ENDIF
> >> ***
> >>
> >> These should not be capitalized.
> >>
> >> Matt
> >>
> >> And the corresponding code lines are:
> >> ***
> >> #INCLUDE <finclude/slepcepsdef.h>
> >> USE slepceps
> >>
> >> !
> >> IMPLICIT NONE
> >> !----------------------
> >> !
> >> #IF DEFINED(PETSC_USE_FORTRAN_DATATYPES)
> >> TYPE(Mat) A
> >> TYPE(EPS) solver
> >> #ELSE
> >> Mat A
> >> EPS solver
> >> #ENDIF
> >> ***
> >>
> >> Sincerely.
> >>
> >> On 04/24/2014 07:25 PM, Satish Balay wrote:
> >>> On Thu, 24 Apr 2014, Steve Ndengue wrote:
> >>>
> >>>
> >>>> Dear all,
> >>>>
> >>>> I am having trouble compiling a code with some dependencies that shall call
> >>>> SLEPC.
> >>>> The compilation however goes perfectly for the various tutorials and tests in
> >>>> the package.
> >>>>
> >>>> A sample makefile looks like:
> >>>>
> >>>> ***
> >>>>
> >>>> /default: code//
> >>>> //routines: Rout1.o Rout2.o Rout3.o Module1.o//
> >>>> //code: PgmPrincipal//
> >>>> //sources=Rout1.f Rout2.f Rout3.f Module1.f90//
> >>>>
> >>> Its best to rename your sourcefiles .F/.F90 [and not .f/.f90
> >>> [this enables using default targets from petsc makefiles - and its
> >>> the correct notation for preprocessing - which is required by petsc/slepc]
> >>>
> >>>
> >>>> //objets=Rout1.o Rout2.o Rout3.o Module1.o Pgm//Principal//.o//
> >>>> //
> >>>> //%.o: %.f//
> >>>> // -${FLINKER} -c $<//
> >>>>
> >>> And you shouldn't need to create the above .o.f target.
> >>>
> >>> Satish
> >>>
> >>>
> >>>
> >>>> //
> >>>> //Module1_mod.mod Module1.o: //Module1//.f90//
> >>>> // -${FLINKER} -c //Module1//.f90//
> >>>> //
> >>>> //include ${SLEPC_DIR}/conf/slepc_common//
> >>>> //
> >>>> //Pgm//Principal//: ${objets} chkopts//
> >>>> // -${FLINKER} -o $@ ${objets} ${SLEPC_LIB}//
> >>>> //
> >>>> //.PHONY: clean//
> >>>> // ${RM} *.o *.mod Pgm//Principal//
> >>>> /
> >>>> ***
> >>>>
> >>>> The code exits with Warning and error messages of the type:
> >>>>
> >>>> *Warning: Pgm**Principal**.f90:880: Illegal preprocessor directive**
> >>>> **Warning: Pgm**Principal**.f90:889: Illegal preprocessor directive**
> >>>> **Warning: Pgm**Principal**.f90:892: Illegal preprocessor directive**
> >>>> **Warning: Pgm**Principal**.f90:895: Illegal preprocessor directive*
> >>>>
> >>>> and
> >>>>
> >>>> *USE slepceps**
> >>>> ** 1**
> >>>> **Fatal Error: Can't open module file 'slepceps.mod' for reading at (1): No
> >>>> such file or directory
> >>>>
> >>>>
> >>>> *I do not get these errors with the tests and errors files.
> >>>>
> >>>>
> >>>> Sincerely,
> >>>>
> >>>>
> >>>>
> >>
> >>
> >> --
> >> Steve
> >>
> >>
> >>
> >>
> >> --
> >> 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
> >
> >
> > --
> > Steve
> >
> >
> >
>
>
More information about the petsc-users
mailing list