> It looks like (by inspecting the regression tests for the quaternion > library) both the Intel Compiler for Linux and gcc need the symbol > BOOST_NO_TEMPLATE_TEMPLATES to be defined.
Looking at the errors suggests that some other problem is at work - at the very least you need to replace <limits> with <boost/limits.hpp> The check: #if defined(__GNUC__) && __GNUC__ < 3 template<typename T> ::std::ostream & operator << ( ::std::ostream & os, quaternion<T> const & q) #else should probably use BOOST_NO_STD_LOCALE throughout for this check - this is the source of the STLport confusions, and you don't need the leading :: before the std either - it will confuse gcc when std is an alias for the global namespace. In the test program: #ifdef BOOST_NO_STDC_NAMESPACE using ::sqrt; using ::atan; using ::log; using ::exp; using ::cos; using ::sin; using ::tan; using ::cosh; using ::sinh; using ::tanh; #endif /* BOOST_NO_STDC_NAMESPACE */ Should be enclosed in a namespace std{} block I assume, otherwise it has no effect!!!! Don't know about the remaining errors, I've given up for now... John Maddock http://ourworld.compuserve.com/homepages/john_maddock/index.htm _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost