[petsc-users] Compiling program with program files dependencies (SLEPC )
Matthew Knepley
knepley at gmail.com
Thu Apr 24 19:39:54 CDT 2014
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140424/edd34abc/attachment.html>
More information about the petsc-users
mailing list