I had noticed that this make error would occur if the file being expanded
doesn't have a prefix 'for'. The following snippet is from line 453- of
dealii/cmake/scripts/expand_instantiations.cc
if (!has_prefix(whole_file, "for"))
{
std::cerr << "Invalid instantiation list: missing 'for'" << std::endl;
std::exit(1);
}

Now, I also noticed that dealii/source/base/mpi.inst.in has all the
template function instantiations enclosed within #ifndef DOXYGEN ...
#endif. And in fact, this is the only instantiation file which does so. I
thought this could be the issue and commented these two statements (#ifndef
and #endif). Then the installation went past this point (not complete yet
though).

I have two questions based on what I saw so far.

   1. Why are the mpi function instantiations to be declared only when
   doxygen is not configured.
   2. If I understand correctly, the function expand_instantiations.cc also
   has the following code snippet to ignore any preprocessor macros (line
   445). Why is this not working when the line #ifndef DOXYGEN is added to
   mpi.inst.in?

// output preprocessor defines as is:
if (has_prefix(whole_file, "#"))
{
std::cout << get_substring_with_delim(whole_file, "\n") << '\n';
skip_space(whole_file);
continue;
}

Thanks,
Vachan

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CALAVa_y%2B6KZvsDp-PQr82dyCLVEBKv88fY%2BdtrAWs4N1AXiE1A%40mail.gmail.com.

Reply via email to