g++-4.8.1 -o gcc-release/obj/Tests/roots_error.o -c -DGIT_COMMIT=0x524d991 -O3 -DNDEBUG -Wall -Wextra -pipe -mieee-fp -march=corei7-avx -std=c++11 -DBOOST_DISABLE_ASSERTS -DBOOST_FILESYSTEM_VERSION=3 -DBOOST_FILESYSTEM_NO_DEPRECATED -Ipath/to/boost/include -I. Tests/roots_error.cc In file included from Tests/roots_error.cc:3:0: path/to/boost/include/boost/math/tools/roots.hpp: In instantiation of 'T boost::math::tools::newton_raphson_iterate(F, T, T, T, int, uintmax_t&) [with F = boost::fusion::tuple (*)(double); T = double; uintmax_t = long unsigned int]': path/to/boost/include/boost/math/tools/roots.hpp:268:63: required from 'T boost::math::tools::newton_raphson_iterate(F, T, T, T, int) [with F = boost::fusion::tuple (*)(double); T = double]' Tests/roots_error.cc:11:77: required from here path/to/boost/include/boost/math/tools/roots.hpp:202:32: error: no match for 'operator=' (operand types are 'std::tuple' and 'boost::fusion::tuple') boost::math::tie(f0, f1) = f(result); ^ path/to/boost/include/boost/math/tools/roots.hpp:202:32: note: candidates are: In file included from path/to/gcc/include/c++/4.8.1/functional:55:0, from path/to/gcc/include/c++/4.8.1/bits/stl_algo.h:66, from path/to/gcc/include/c++/4.8.1/algorithm:62, from path/to/boost/include/boost/math/tools/config.hpp:16, from path/to/boost/include/boost/math/tools/roots.hpp:17, from Tests/roots_error.cc:3: path/to/gcc/include/c++/4.8.1/tuple:616:7: note: std::tuple<_T1, _T2>& std::tuple<_T1, _T2>::operator=(const std::tuple<_T1, _T2>&) [with _T1 = double&; _T2 = double&] operator=(const tuple& __in) ^ path/to/gcc/include/c++/4.8.1/tuple:616:7: note: no known conversion for argument 1 from 'boost::fusion::tuple' to 'const std::tuple&' path/to/gcc/include/c++/4.8.1/tuple:623:7: note: std::tuple<_T1, _T2>& std::tuple<_T1, _T2>::operator=(std::tuple<_T1, _T2>&&) [with _T1 = double&; _T2 = double&] operator=(tuple&& __in) ^ path/to/gcc/include/c++/4.8.1/tuple:623:7: note: no known conversion for argument 1 from 'boost::fusion::tuple' to 'std::tuple&&' path/to/gcc/include/c++/4.8.1/tuple:632:9: note: template std::tuple<_T1, _T2>& std::tuple<_T1, _T2>::operator=(const std::tuple<_U1, _U2>&) [with _U1 = _U1; _U2 = _U2; _T1 = double&; _T2 = double&] operator=(const tuple<_U1, _U2>& __in) ^ path/to/gcc/include/c++/4.8.1/tuple:632:9: note: template argument deduction/substitution failed: In file included from Tests/roots_error.cc:3:0: path/to/boost/include/boost/math/tools/roots.hpp:202:32: note: 'boost::fusion::tuple' is not derived from 'const std::tuple<_T1, _T2>' boost::math::tie(f0, f1) = f(result); ^ In file included from path/to/gcc/include/c++/4.8.1/functional:55:0, from path/to/gcc/include/c++/4.8.1/bits/stl_algo.h:66, from path/to/gcc/include/c++/4.8.1/algorithm:62, from path/to/boost/include/boost/math/tools/config.hpp:16, from path/to/boost/include/boost/math/tools/roots.hpp:17, from Tests/roots_error.cc:3: path/to/gcc/include/c++/4.8.1/tuple:640:9: note: template std::tuple<_T1, _T2>& std::tuple<_T1, _T2>::operator=(std::tuple<_U1, _U2>&&) [with _U1 = _U1; _U2 = _U2; _T1 = double&; _T2 = double&] operator=(tuple<_U1, _U2>&& __in) ^ path/to/gcc/include/c++/4.8.1/tuple:640:9: note: template argument deduction/substitution failed: In file included from Tests/roots_error.cc:3:0: path/to/boost/include/boost/math/tools/roots.hpp:202:32: note: 'boost::fusion::tuple' is not derived from 'std::tuple<_T1, _T2>' boost::math::tie(f0, f1) = f(result); ^ In file included from path/to/gcc/include/c++/4.8.1/functional:55:0, from path/to/gcc/include/c++/4.8.1/bits/stl_algo.h:66, from path/to/gcc/include/c++/4.8.1/algorithm:62, from path/to/boost/include/boost/math/tools/config.hpp:16, from path/to/boost/include/boost/math/tools/roots.hpp:17, from Tests/roots_error.cc:3: path/to/gcc/include/c++/4.8.1/tuple:648:9: note: template std::tuple<_T1, _T2>& std::tuple<_T1, _T2>::operator=(const std::pair<_U1, _U2>&) [with _U1 = _U1; _U2 = _U2; _T1 = double&; _T2 = double&] operator=(const pair<_U1, _U2>& __in) ^ path/to/gcc/include/c++/4.8.1/tuple:648:9: note: template argument deduction/substitution failed: In file included from Tests/roots_error.cc:3:0: path/to/boost/include/boost/math/tools/roots.hpp:202:32: note: 'boost::fusion::tuple' is not derived from 'const std::pair<_T1, _T2>' boost::math::tie(f0, f1) = f(result); ^ In file included from path/to/gcc/include/c++/4.8.1/functional:55:0, from path/to/gcc/include/c++/4.8.1/bits/stl_algo.h:66, from path/to/gcc/include/c++/4.8.1/algorithm:62, from path/to/boost/include/boost/math/tools/config.hpp:16, from path/to/boost/include/boost/math/tools/roots.hpp:17, from Tests/roots_error.cc:3: path/to/gcc/include/c++/4.8.1/tuple:657:9: note: template std::tuple<_T1, _T2>& std::tuple<_T1, _T2>::operator=(std::pair<_U1, _U2>&&) [with _U1 = _U1; _U2 = _U2; _T1 = double&; _T2 = double&] operator=(pair<_U1, _U2>&& __in) ^ path/to/gcc/include/c++/4.8.1/tuple:657:9: note: template argument deduction/substitution failed: In file included from Tests/roots_error.cc:3:0: path/to/boost/include/boost/math/tools/roots.hpp:202:32: note: 'boost::fusion::tuple' is not derived from 'std::pair<_T1, _T2>' boost::math::tie(f0, f1) = f(result); ^ make: *** [gcc-release/obj/Tests/roots_error.o] Error 1