From: Roy S. <roy...@ic...> - 2006-06-15 17:31:48
|
On Thu, 15 Jun 2006, Marc Buffat wrote: > I am trying to compile libmesh on Ubuntu Dapper on an Dual Pentium Box > (gcc 4.0.3 with mpich and petsc (from the Ubuntu package) > and I got error when compiling libmesh : > i.e. compiling src/fe/fe_compute_data.C > Has anybody been succesful in compiling libmesh on Ubuntu Dapper ? > It seems related to a template problem (the eternel problem with C++) > Here is the error message: > > Compiling C++ (in optimized mode) src/fe/fe_compute_data.C... > /home/buffat/NadiaVF/libmesh-0.5.0/include/utils/parameters.h: In membe= r > function =ABconst T& Parameters::get(const std::string&) const=BB: > /home/buffat/NadiaVF/libmesh-0.5.0/include/utils/parameters.h:345: erre= ur: no > match for =ABoperator<<=BB in =AB((((((std::cerr << "ERROR: no ") << #=AB= typeid_expr=BB > not supported by dump_expr#<expression error>.std::type_info::name()) <= < " > parameter named ") << name) << ":") << std::endl) << * this=BB This looks like something we ran into in CVS quite a while ago; if I remember correctly this code worked with older compilers, and to make it correct for GCC 4, the fix is to move the definition of operator<< in parameters.h up above the definition of Parameters::get. This could be a problem for more and more people in the future. Perhaps it's time for us to get the CVS head into shape for a libMesh 0.6.0 release. --- Roy Stogner |