id summary reporter owner description type status milestone component version severity resolution keywords cc 10420 icpc issue when mixing boost and cuda. Alain Miniussi John Maddock "There are 2 problems when using nvcc with intel's compiler and including boost headers. Considering the following '''truc.cu''' file: {{{ #include ""boost/container/vector.hpp"" int main() { return 0; } }}} The compilation raises the following two issues: {{{ [alainm@gurney bug]$ nvcc -ccbin=icpc -c ./truc.cu -I../include nvcc warning : The 'compute_10' and 'sm_10' architectures are deprecated, and may be removed in a future release. In file included from ../include/boost/config.hpp(39), from ../include/boost/container/detail/config_begin.hpp(12), from ../include/boost/container/vector.hpp(18), from ./truc.cu(1): ../include/boost/config/compiler/intel.hpp(40): warning #47: incompatible redefinition of macro ""BOOST_COMPILER"" (declared at line 11 of ""../include/boost/config/compiler/nvcc.hpp"") #define BOOST_COMPILER ""Intel C++ version "" BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) ^ ../include/boost/config/suffix.hpp(496): error: identifier ""__int128"" is undefined ../include/boost/config/suffix.hpp(497): error: expected a "";"" ../include/boost/type_traits/is_integral.hpp(73): error: namespace ""boost"" has no member ""uint128_type"" ../include/boost/type_traits/is_integral.hpp(73): error: class ""boost::is_integral"" has already been defined ../include/boost/type_traits/is_integral.hpp(73): error: namespace ""boost"" has no member ""uint128_type"" ../include/boost/type_traits/is_integral.hpp(73): error: class ""boost::is_integral"" has already been defined ../include/boost/type_traits/is_integral.hpp(73): error: namespace ""boost"" has no member ""uint128_type"" ../include/boost/type_traits/is_integral.hpp(73): error: class ""boost::is_integral"" has already been defined ../include/boost/type_traits/is_integral.hpp(73): error: namespace ""boost"" has no member ""uint128_type"" ../include/boost/type_traits/is_integral.hpp(73): error: class ""boost::is_integral"" has already been defined ../include/boost/functional/hash/hash.hpp(116): error: namespace ""boost"" has no member ""uint128_type"" ../include/boost/functional/hash/hash.hpp(468): error: namespace ""boost"" has no member ""uint128_type"" ../include/boost/functional/hash/hash.hpp(468): error: class ""boost::hash"" has already been defined ../include/boost/functional/hash/hash.hpp(468): error: namespace ""boost"" has no member ""uint128_type"" ../include/boost/functional/hash/hash.hpp(468): error: namespace ""boost"" has no member ""uint128_type"" ../include/boost/type_traits/make_unsigned.hpp(77): error: namespace ""boost"" has no member ""uint128_type"" ../include/boost/type_traits/make_unsigned.hpp(109): error: namespace ""boost"" has no member ""uint128_type"" 17 errors detected in the compilation of ""/tmp/tmpxft_000052b6_00000000-6_truc.cpp1.ii"". [alainm@gurney bug]$ }}} The two problem are the double definition of '''BOOST_COMPILER''' (handled with gcc and visualc) and the absence of int128 in that mode. " Bugs closed To Be Determined config Boost Development Trunk Problem fixed