[Dune-devel] dune-common update seems to cause error in my ParMetis routine

Christian Engwer christian.engwer at uni-muenster.de
Fri Jan 22 13:14:20 CET 2016


Easiest wuld be a git bisect to identify te commit that caused the
problems.

Alternatively you can look at the preprocessor output.

Christian

On Fri, Jan 22, 2016 at 12:13:58PM +0100, Aleksejs Fomins wrote:
> Dear Markus,
> 
> real_t is a datatype that is essentially float or double, as defined in <parmetis.h>, which is included in the file in question.
> 
> In fact, the error disappears if I manually type
> 
> typedef float real_t;
> 
> inside of my code. However, this same line is already written in parmetis.h, and the compiler clearly sees this file, because it does not complain about other parmetis functions I use. What puzzles me is that the code compiles no problem with previous version of dune-common.
> 
> Thanks,
> Aleksejs
> 
> 
> On 22.01.2016 12:07, Markus Blatt wrote:
> > Hi,
> > 
> > On Fri, Jan 22, 2016 at 11:55:31AM +0100, Aleksejs Fomins wrote:
> >> My Parmetis code, which used to compile before, includes the following lines:
> >>
> >> ------------------------------------------------------------------------------
> >> #if PARMETIS_MAJOR_VERSION < 4
> >>       typedef idxtype idx_t;
> >>       typedef float real_t;
> >> #endif
> >>
> >> std::vector<real_t> tpwgts(ncon*nparts, 1./nparts);
> >> ------------------------------------------------------------------------------
> >>
> >> With the latest pull of dune-common, I get the following error
> >>
> >> ------------------------------------------------------------------------------
> >> /home/fomins/gitwork/hades-lspr-ag/dune-curvilineargrid/dune/curvilineargrid/io/file/curvilineargmshreader.hh:1124:25: error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Tp, class _Alloc> class std::vector’
> >>        std::vector<real_t> tpwgts(ncon*nparts, 1./nparts);
> >>                          ^
> >> /home/fomins/gitwork/hades-lspr-ag/dune-curvilineargrid/dune/curvilineargrid/io/file/curvilineargmshreader.hh:1124:25: note:   expected a type, got ‘real_t’
> >> ------------------------------------------------------------------------------
> >>
> >> Would you be so kind as to suggest what caused this error and how to correct it?
> > 
> > The error message is pretty clear: The compiler does not know real_t
> > for whatever reason. What is it supposed to be?
> > 
> > Cheers,
> > 
> > Markus
> > 
> 
> _______________________________________________
> Dune-devel mailing list
> Dune-devel at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune-devel

-- 
Prof. Dr. Christian Engwer 
Institut für Numerische und Angewandte Mathematik
Fachbereich Mathematik und Informatik der Universität Münster
Einsteinstrasse 62
48149 Münster

E-Mail  christian.engwer at uni-muenster.de
Telefon +49 251 83-35067
FAX     +49 251 83-32729




More information about the Dune-devel mailing list