boost/functional/hash compilation errors

This svn trunk revision breaks our builds on all platforms we have: ------------------------------------------------------------------------ r53161 | danieljames | 2009-05-21 14:22:04 -0700 (Thu, 21 May 2009) | 1 line Try to automatically detect which float functions are available. ------------------------------------------------------------------------ It still doesn't work with the current svn (53183). The error is (gcc 4.1.2): boost/boost/functional/hash/detail/float_functions.hpp:56: error: 'boost::none' cannot appear in a constant-expression boost/boost/functional/hash/detail/float_functions.hpp:56: error: template argument 1 is invalid The much more verbose (and maybe more helpful) Visual C++ 8 error is below. More errors: http://cci.lbl.gov/cctbx_build/show_error_summary.cgi?build_tag=2009_05_21_2... Ralf C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : error C2923: 'boost::hash_detail::detect::is' : 'boost::none' is not a valid template type argument for parameter 'T' C:\AUTOBU~1\sources\boost\boost/none.hpp(23) : see declaration of 'boost::none' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : error C2913: explicit specialization; 'boost::hash_detail::detect::is' is not a specialization of a class template C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(85) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(98) : see reference to class template instantiation 'boost::hash_detail::detect::ldexp_access::check<Float>' being compiled with [ Float=float ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(135) : see reference to class template instantiation 'boost::hash_detail::check<Float,Access>' being compiled with [ Float=float, Access=boost::hash_detail::detect::ldexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(160) : see reference to class template instantiation 'boost::hash_detail::select_impl::x<Float,Access>' being compiled with [ Float=float, Access=boost::hash_detail::detect::ldexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(85) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(85) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(98) : see reference to class template instantiation 'boost::hash_detail::detect::ldexp_access::check<Float>' being compiled with [ Float=double ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(135) : see reference to class template instantiation 'boost::hash_detail::check<Float,Access>' being compiled with [ Float=double, Access=boost::hash_detail::detect::ldexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(166) : see reference to class template instantiation 'boost::hash_detail::select_impl::x<Float,Access>' being compiled with [ Float=double, Access=boost::hash_detail::detect::ldexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(85) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(85) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(98) : see reference to class template instantiation 'boost::hash_detail::detect::ldexp_access::check<Float>' being compiled with [ Float=long double ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(135) : see reference to class template instantiation 'boost::hash_detail::check<Float,Access>' being compiled with [ Float=long double, Access=boost::hash_detail::detect::ldexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(171) : see reference to class template instantiation 'boost::hash_detail::select_impl::x<Float,Access>' being compiled with [ Float=long double, Access=boost::hash_detail::detect::ldexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(85) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(88) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(98) : see reference to class template instantiation 'boost::hash_detail::detect::frexp_access::check<Float>' being compiled with [ Float=float ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(135) : see reference to class template instantiation 'boost::hash_detail::check<Float,Access>' being compiled with [ Float=float, Access=boost::hash_detail::detect::frexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(187) : see reference to class template instantiation 'boost::hash_detail::select_impl::x<Float,Access>' being compiled with [ Float=float, Access=boost::hash_detail::detect::frexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(88) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(88) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(98) : see reference to class template instantiation 'boost::hash_detail::detect::frexp_access::check<Float>' being compiled with [ Float=double ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(135) : see reference to class template instantiation 'boost::hash_detail::check<Float,Access>' being compiled with [ Float=double, Access=boost::hash_detail::detect::frexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(193) : see reference to class template instantiation 'boost::hash_detail::select_impl::x<Float,Access>' being compiled with [ Float=double, Access=boost::hash_detail::detect::frexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(88) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(88) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(98) : see reference to class template instantiation 'boost::hash_detail::detect::frexp_access::check<Float>' being compiled with [ Float=long double ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(135) : see reference to class template instantiation 'boost::hash_detail::check<Float,Access>' being compiled with [ Float=long double, Access=boost::hash_detail::detect::frexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(198) : see reference to class template instantiation 'boost::hash_detail::select_impl::x<Float,Access>' being compiled with [ Float=long double, Access=boost::hash_detail::detect::frexp_access ] C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(88) : error C2027: use of undefined type 'boost::hash_detail::detect::is' C:\AUTOBU~1\sources\boost\boost/functional/hash/detail/float_functions.hpp(56) : see declaration of 'boost::hash_detail::detect::is'

2009/5/22 Ralf W. Grosse-Kunstleve <rwgk@yahoo.com>:
This svn trunk revision breaks our builds on all platforms we have:
------------------------------------------------------------------------ r53161 | danieljames | 2009-05-21 14:22:04 -0700 (Thu, 21 May 2009) | 1 line
Try to automatically detect which float functions are available. ------------------------------------------------------------------------
It still doesn't work with the current svn (53183).
The error is (gcc 4.1.2):
boost/boost/functional/hash/detail/float_functions.hpp:56: error: 'boost::none' cannot appear in a constant-expression boost/boost/functional/hash/detail/float_functions.hpp:56: error: template argument 1 is invalid
Sorry about that, I think it's fixed now. Daniel
participants (2)
-
Daniel James
-
Ralf W. Grosse-Kunstleve