On Thu, Apr 24, 2014 at 8:52 PM, Steve Ndengue <[email protected]>wrote:
> The results is the same with lower case letters... > Can you send the error? If your preprocessor does not understand #if, I can't see how it could compile anything. Matt > > 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 > > -- 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
