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 <[email protected]> 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 <[email protected]> >> 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 > > >
