Yes, I have the same problem with Boost1.30.0/Borland C++ Builder 5. To be more precise, when I try to compile the following: //---------------------------------------------- #include<boost/tuple/tuple.hpp> int main(int argc, char* argv[]) { return 0; } //---------------------------------------------- , I get these errors: [C++ Fehler] tuple_basic.hpp(158): E2434 In Template-Deklaration fehlen Template-Parameter ('template<...>') [C++ Fehler] tuple_basic.hpp(158): E2238 Bezeichner 'element<N,T>' mehrfach deklariert [C++ Fehler] tuple_basic.hpp(143): E2344 'element<N,T>' bereits deklariert (in english, they should read something like: E2434 Template declaration missing template parameters ('template<...>') E2238 Multiple declaration of 'element<N,T>' E2344 'element<N,T>' already declared ) As a very crude way to fix the problem, I commented out the const-specializations of the element template in tuple.hpp: //template<int N, class T> //struct element<N, const T> //{ //private: // typedef typename T::tail_type Next; // typedef typename element<N-1, Next>::type unqualified_type; //public: // typedef typename boost::add_const<unqualified_type>::type type; //}; //template<class T> //struct element<0,const T> //{ // typedef typename boost::add_const<typename T::head_type>::type type; //}; Now I can at least compile code using tuples. (e.g. the knights-tour example from boost). Does anyone have a more elegant workaround? Is this a bug that I should submit or is it already known? Does anyone know if reverting to an older version of boost will solve the problem? Questions, questions... :-) CU, Elmar Bihler.