<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFCC99" text="#000099">
<div class="moz-cite-prefix"><font size="-1">Thank you for the quick
reply.<br>
<br>
It partly solved the problem; the PETSC and SLEPC files are now
included in the compilation.<br>
<br>
However the Warning are now error messages!<br>
***<br>
<i>pgm_hatom_offaxis_cyl.F90:880:0: error: invalid preprocessing
directive #INCLUDE</i><i><br>
</i><i>pgm_hatom_offaxis_cyl.F90:887:0: error: invalid
preprocessing directive #IF</i><i><br>
</i><i>pgm_hatom_offaxis_cyl.F90:890:0: error: invalid
preprocessing directive #ELSE</i><i><br>
</i><i>pgm_hatom_offaxis_cyl.F90:893:0: error: invalid
preprocessing directive #ENDIF</i><br>
***<br>
<br>
And the corresponding code lines are:<br>
***<br>
<b>#INCLUDE <finclude/slepcepsdef.h></b><b><br>
</b><b> USE slepceps</b><b><br>
</b><b><br>
</b><b>!</b><b><br>
</b><b> IMPLICIT NONE</b><b><br>
</b><b>!--------------------</b><b>--<br>
</b><b>!</b><b><br>
</b><b>#IF DEFINED(PETSC_USE_FORTRAN_DATATYPES)</b><b><br>
</b><b>
TYPE(Mat) A</b><b><br>
</b><b>
TYPE(EPS) solver</b><b><br>
</b><b>#ELSE</b><b><br>
</b><b>
Mat A</b><b><br>
</b><b>
EPS solver</b><b><br>
</b><b>#ENDIF</b><br>
***<br>
</font><br>
<font size="-1">Sincerely.</font><br>
<br>
On 04/24/2014 07:25 PM, Satish Balay wrote:<br>
</div>
<blockquote cite="mid:alpine.LFD.2.11.1404241923210.2534@asterix"
type="cite">
<pre wrap="">On Thu, 24 Apr 2014, Steve Ndengue wrote:
</pre>
<blockquote type="cite">
<pre wrap="">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//
</pre>
</blockquote>
<pre wrap="">
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]
</pre>
<blockquote type="cite">
<pre wrap="">//objets=Rout1.o Rout2.o Rout3.o Module1.o Pgm//Principal//.o//
//
//%.o: %.f//
// -${FLINKER} -c $<//
</pre>
</blockquote>
<pre wrap="">
And you shouldn't need to create the above .o.f target.
Satish
</pre>
<blockquote type="cite">
<pre wrap="">//
//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,
</pre>
</blockquote>
<pre wrap="">
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Steve </pre>
</body>
</html>