xlC compilation error: The default arguments for "template <class T, template <class U> class Descriptor> plb::meta::constructIdNameChain(const vector<int,std::allocator<int> > &, std::string)" must not be redefined.

I am trying to compile on IBM AIX machine with xlC (IBM XL C++).
First I had problem with Eigen. Now it seems to be the palabos code.
I try to compile cavity3d.cpp and get a long list of similar errors. Take a look at the second and third line here:


xlC -o cavity3d.o -c -O3 -DPLB_USE_POSIX -I/u/hirevich/adaneyko/src/palabos-v0.7r2/src -I/u/hirevich/adaneyko/src/palabos-v0.7r2/externalLibraries cavity3d.cpp
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/core/dynamicsIdentifiers.hh", line 122.13: 1540-0405 (S) The default arguments for "template <class T, template <class U> class Descriptor> plb::meta::constructIdNameChain(const vector<int,std::allocator<int> > &, std::string)" must not be redefined.
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/core/dynamicsIdentifiers.h", line 98.13: 1540-0424 (I) "constructIdNameChain" is declared on line 98 of "/u/hirevich/adaneyko/src/palabos-v0.7r2/src/core/dynamicsIdentifiers.h".
"/u/hirevich/adaneyko/src/palabos-v0.7r2/externalLibraries/Eigen/src/Core/CacheFriendlyProduct.h", line 36.13: 1540-0400 (S) "template <class Scalar> Eigen::ei_cache_friendly_product(int, int, int, bool, const Scalar *, int, bool, const Scalar *, int, bool, Scalar *, int)" has a conflicting declaration.
"/u/hirevich/adaneyko/src/palabos-v0.7r2/externalLibraries/Eigen/src/Core/util/ForwardDeclarations.h", line 93.6: 1540-0424 (I) "ei_cache_friendly_product" is declared on line 93 of "/u/hirevich/adaneyko/src/palabos-v0.7r2/externalLibraries/Eigen/src/Core/util/ForwardDeclarations.h".
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator3D.hh", line 77.39: 1540-0405 (S) The default arguments for "template <class T> plb::generateMultiScalarField(Box3D, plint)" must not be redefined.
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator3D.h", line 42.39: 1540-0424 (I) "generateMultiScalarField" is declared on line 42 of "/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator3D.h".
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator3D.hh", line 308.44: 1540-0405 (S) The default arguments for "template <class T, int nDim> plb::generateMultiTensorField(Box3D, plint)" must not be redefined.
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator3D.h", line 164.44: 1540-0424 (I) "generateMultiTensorField" is declared on line 164 of "/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator3D.h".
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator3D.hh", line 542.51: 1540-0405 (S) The default arguments for "template <class T, template <class U> class Descriptor> plb::generateMultiBlockLattice(Box3D, Dynamics<T,Descriptor> *, plint)" must not be redefined.
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator3D.h", line 286.51: 1540-0424 (I) "generateMultiBlockLattice" is declared on line 286 of "/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator3D.h".
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator2D.hh", line 77.39: 1540-0405 (S) The default arguments for "template <class T> plb::generateMultiScalarField(Box2D, plint)" must not be redefined.
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator2D.h", line 42.39: 1540-0424 (I) "generateMultiScalarField" is declared on line 42 of "/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator2D.h".
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator2D.hh", line 307.44: 1540-0405 (S) The default arguments for "template <class T, int nDim> plb::generateMultiTensorField(Box2D, plint)" must not be redefined.
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator2D.h", line 164.44: 1540-0424 (I) "generateMultiTensorField" is declared on line 164 of "/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator2D.h".
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator2D.hh", line 541.51: 1540-0405 (S) The default arguments for "template <class T, template <class U> class Descriptor> plb::generateMultiBlockLattice(Box2D, Dynamics<T,Descriptor> *, plint)" must not be redefined.
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator2D.h", line 285.51: 1540-0424 (I) "generateMultiBlockLattice" is declared on line 285 of "/u/hirevich/adaneyko/src/palabos-v0.7r2/src/multiBlock/multiBlockGenerator2D.h".
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/dataProcessors/metaStuffFunctional3D.hh", line 107.42: 1540-2411 (W) A dynamic cast is present, but the correct RTTI option is not specified.
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/algorithm/basicDataTypes.h", line 53.80: 1540-0294 (S) An object or reference of type "std::set<const std::type_info *,std::less<const std::type_info *>,std::allocator<const std::type_info *> >::iterator" cannot be initialized with an rvalue of type "std::_Tree<std::_Tset_traits<const std::type_info *,plb::TypeInfoComparator,std::allocator<const std::type_info *>,0> >::iterator".
"/u/hirevich/adaneyko/src/palabos-v0.7r2/src/algorithm/basicDataTypes.h", line 54.16: 1540-0290 (S) The function template parameter "_II" has been found to have two values: "std::_Tree<std::_Tset_traits<const std::type_info *,plb::TypeInfoComparator,std::allocator<const std::type_info *>,0> >::iterator" and "std::_Tree<std::_Tset_traits<const std::type_info *,std::less<const std::type_info *>,std::allocator<const std::type_info *>,0> >::iterator".
scons: *** [cavity3d.o] Error 1
scons: building terminated because of errors.
make: *** [compile] Error 2

I suspect that “1540-0405 (S) The default arguments for XXXX must not be redefined.” is what causes the problem and it seems this has to do with how xlC treats templates. It looks like xlC does not like repetitions in .h and .hh files. I use XL C++ version 11.1.0.0.

Has anyone encountered such an error?
Could you suggest a simple code snipet to reproduce this error, so I could bug xlC people?