<div dir="ltr"><div><div>Dear Alekseij,<br><br></div>you are not adding the MPI flags to your second target, that is why any MPI related names are not found.<br><br></div><div>You have to call<br><br></div><div>add_dune_mpi_flags(target)<br><br></div><div>on a target in order to add mpi flags. add_dune_parmetis_flags internally calls that macro. That is why you dont experience problems with parmetis applications.<br><br></div><div>Dominic<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 21, 2015 at 5:31 PM, Aleksejs Fomins <span dir="ltr"><<a href="mailto:aleksejs.fomins@lspr.ch" target="_blank">aleksejs.fomins@lspr.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Dune,<br>
<br>
I have 1 test program, which compiles and runs. It uses MPI and ParMetis<br>
I have now written a 2nd test program. It uses MPI but does not use<br>
ParMetis. I compile the 2nd test and I get the error<br>
<br>
error: ‘MPI_Comm’ was not declared in this scope<br>
   MPI_Comm comm = Dune::MPIHelper::getCommunicator();<br>
<br>
although statements like that work no problem in the 1st test. From my<br>
point of view, the ONLY difference between the tests in terms of CMAKE<br>
is that one of them uses ParMetis and the other does not.<br>
<br>
<br>
Now here is the trick. I decided to make the tests completely symmetric by<br>
<br>
if(HAVE_MPI)<br>
    add_dune_parmetis_flags(test1)<br>
    add_dune_parmetis_flags(test2)   # I inserted this line<br>
endif(HAVE_MPI)<br>
<br>
Now both tests compile.<br>
<br>
<br>
I mean, this solution works, but I am sure I am doing something wrong.<br>
<br>
Opts file and cmake file attached<br>
<br>
Cheers,<br>
Aleksejs<br>
<br>_______________________________________________<br>
Dune mailing list<br>
<a href="mailto:Dune@dune-project.org">Dune@dune-project.org</a><br>
<a href="http://lists.dune-project.org/mailman/listinfo/dune" target="_blank">http://lists.dune-project.org/mailman/listinfo/dune</a><br>
<br></blockquote></div><br></div>