[petsc-users] Compiling program with program files dependencies (SLEPC )
Matthew Knepley
knepley at gmail.com
Thu Apr 24 20:14:33 CDT 2014
On Thu, Apr 24, 2014 at 8:52 PM, Steve Ndengue <steve.ndengue at gmail.com>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 <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
>
>
--
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/eb90884f/attachment.html>
More information about the petsc-users
mailing list