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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/CALAVa_y%2B6KZvsDp-PQr82dyCLVEBKv88fY%2BdtrAWs4N1AXiE1A%40mail.gmail.com.