You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I introduced tests these past days with AUTODIFF_ENABLE_IMPLICIT_CONVERSION and some errors were happening in Windows only due to Catch2::Approx not resolving operator== overloads correctly. I fixed them yesterday. Please make sure you are using the most recent version. If that's the case, I'll investigate. You can also edit CmakeLists.txt and remove the target autodiff-tests-implicit-conversion.
Hi,
I am getting the following error when compiling with cmake. Any idea about how to fix the issue? Thanks.
hanxiang@hanxiang-OMEN-30L-Desktop-GT13-1xxx:~/autodiff/.build$ cmake --build . --target install
[ 1%] Building CXX object tests/CMakeFiles/autodiff-cpptests-implicit-conversion.dir/forward/dual/eigen.test.cpp.o
In file included from /home/hanxiang/autodiff/autodiff/forward/dual/dual.hpp:42:0,
from /home/hanxiang/autodiff/autodiff/forward/dual.hpp:33,
from /home/hanxiang/autodiff/tests/forward/dual/eigen.test.cpp:35:
/home/hanxiang/autodiff/autodiff/common/numbertraits.hpp: In instantiation of ‘autodiff::detail::ForEachWrtVar(const autodiff::detail::Wrt<Vars ...>&, Function&&)::<lambda(auto:15&)> [with auto:15 = Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>; Function = autodiff::detail::gradient(const Fun&, const autodiff::detail::Wrt<Vars ...>&, const autodiff::detail::At<Args ...>&, Y&, G&) [with Fun = CATCH2_INTERNAL_TEST_0()::<lambda(const VectorXdual&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Args = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Y = autodiff::detail::Dual<double, double>; G = Eigen::Matrix<double, -1, 1>]::<lambda(auto:16&&, auto:17&&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}]’:
/home/hanxiang/autodiff/autodiff/common/meta.hpp:141:10: required from ‘autodiff::detail::ForEach(Tuple&&, Function&&)::<lambda(auto:3)> [with auto:3 = autodiff::detail::Index<0>; Tuple = const std::tuple<Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&>&; Function = autodiff::detail::ForEachWrtVar(const autodiff::detail::Wrt<Vars ...>&, Function&&) [with Function = autodiff::detail::gradient(const Fun&, const autodiff::detail::Wrt<Vars ...>&, const autodiff::detail::At<Args ...>&, Y&, G&) [with Fun = CATCH2_INTERNAL_TEST_0()::<lambda(const VectorXdual&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Args = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Y = autodiff::detail::Dual<double, double>; G = Eigen::Matrix<double, -1, 1>]::<lambda(auto:16&&, auto:17&&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}]::<lambda(auto:15&)>]’
/home/hanxiang/autodiff/autodiff/common/meta.hpp:97:10: required from ‘constexpr auto autodiff::detail::AuxFor(Function&&) [with long unsigned int i = 0; long unsigned int ibegin = 0; long unsigned int iend = 1; Function = autodiff::detail::ForEach(Tuple&&, Function&&) [with Tuple = const std::tuple<Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&>&; Function = autodiff::detail::ForEachWrtVar(const autodiff::detail::Wrt<Vars ...>&, Function&&) [with Function = autodiff::detail::gradient(const Fun&, const autodiff::detail::Wrt<Vars ...>&, const autodiff::detail::At<Args ...>&, Y&, G&) [with Fun = CATCH2_INTERNAL_TEST_0()::<lambda(const VectorXdual&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Args = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Y = autodiff::detail::Dual<double, double>; G = Eigen::Matrix<double, -1, 1>]::<lambda(auto:16&&, auto:17&&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}]::<lambda(auto:15&)>]::<lambda(auto:3)>]’
/home/hanxiang/autodiff/autodiff/common/meta.hpp:105:33: required from ‘constexpr auto autodiff::detail::For(Function&&) [with long unsigned int ibegin = 0; long unsigned int iend = 1; Function = autodiff::detail::ForEach(Tuple&&, Function&&) [with Tuple = const std::tuple<Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&>&; Function = autodiff::detail::ForEachWrtVar(const autodiff::detail::Wrt<Vars ...>&, Function&&) [with Function = autodiff::detail::gradient(const Fun&, const autodiff::detail::Wrt<Vars ...>&, const autodiff::detail::At<Args ...>&, Y&, G&) [with Fun = CATCH2_INTERNAL_TEST_0()::<lambda(const VectorXdual&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Args = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Y = autodiff::detail::Dual<double, double>; G = Eigen::Matrix<double, -1, 1>]::<lambda(auto:16&&, auto:17&&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}]::<lambda(auto:15&)>]::<lambda(auto:3)>]’
/home/hanxiang/autodiff/autodiff/common/meta.hpp:111:17: required from ‘constexpr auto autodiff::detail::For(Function&&) [with long unsigned int iend = 1; Function = autodiff::detail::ForEach(Tuple&&, Function&&) [with Tuple = const std::tuple<Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&>&; Function = autodiff::detail::ForEachWrtVar(const autodiff::detail::Wrt<Vars ...>&, Function&&) [with Function = autodiff::detail::gradient(const Fun&, const autodiff::detail::Wrt<Vars ...>&, const autodiff::detail::At<Args ...>&, Y&, G&) [with Fun = CATCH2_INTERNAL_TEST_0()::<lambda(const VectorXdual&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Args = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Y = autodiff::detail::Dual<double, double>; G = Eigen::Matrix<double, -1, 1>]::<lambda(auto:16&&, auto:17&&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}]::<lambda(auto:15&)>]::<lambda(auto:3)>]’
/home/hanxiang/autodiff/autodiff/common/meta.hpp:140:11: required from ‘constexpr auto autodiff::detail::ForEach(Tuple&&, Function&&) [with Tuple = const std::tuple<Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&>&; Function = autodiff::detail::ForEachWrtVar(const autodiff::detail::Wrt<Vars ...>&, Function&&) [with Function = autodiff::detail::gradient(const Fun&, const autodiff::detail::Wrt<Vars ...>&, const autodiff::detail::At<Args ...>&, Y&, G&) [with Fun = CATCH2_INTERNAL_TEST_0()::<lambda(const VectorXdual&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Args = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Y = autodiff::detail::Dual<double, double>; G = Eigen::Matrix<double, -1, 1>]::<lambda(auto:16&&, auto:17&&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}]::<lambda(auto:15&)>]’
/home/hanxiang/autodiff/autodiff/forward/utils/gradient.hpp:67:12: required from ‘constexpr auto autodiff::detail::ForEachWrtVar(const autodiff::detail::Wrt<Vars ...>&, Function&&) [with Function = autodiff::detail::gradient(const Fun&, const autodiff::detail::Wrt<Vars ...>&, const autodiff::detail::At<Args ...>&, Y&, G&) [with Fun = CATCH2_INTERNAL_TEST_0()::<lambda(const VectorXdual&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Args = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Y = autodiff::detail::Dual<double, double>; G = Eigen::Matrix<double, -1, 1>]::<lambda(auto:16&&, auto:17&&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}]’
/home/hanxiang/autodiff/autodiff/forward/utils/gradient.hpp:97:18: required from ‘void autodiff::detail::gradient(const Fun&, const autodiff::detail::Wrt<Vars ...>&, const autodiff::detail::At<Args ...>&, Y&, G&) [with Fun = CATCH2_INTERNAL_TEST_0()::<lambda(const VectorXdual&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Args = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Y = autodiff::detail::Dual<double, double>; G = Eigen::Matrix<double, -1, 1>]’
/home/hanxiang/autodiff/autodiff/forward/utils/gradient.hpp:114:13: required from ‘auto autodiff::detail::gradient(const Fun&, const autodiff::detail::Wrt<Vars ...>&, const autodiff::detail::At<Args ...>&, Y&) [with Fun = CATCH2_INTERNAL_TEST_0()::<lambda(const VectorXdual&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Args = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Y = autodiff::detail::Dual<double, double>]’
/home/hanxiang/autodiff/autodiff/forward/utils/gradient.hpp:123:20: required from ‘auto autodiff::detail::gradient(const Fun&, const autodiff::detail::Wrt<Vars ...>&, const autodiff::detail::At<Args ...>&) [with Fun = CATCH2_INTERNAL_TEST_0()::<lambda(const VectorXdual&)>; Vars = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}; Args = {Eigen::Matrix<autodiff::detail::Dual<double, double>, -1, 1, 0, -1, 1>&}]’
/home/hanxiang/autodiff/tests/forward/dual/eigen.test.cpp:184:51: required from here
/home/hanxiang/autodiff/autodiff/common/numbertraits.hpp:70:16: internal compiler error: in tsubst, at cp/pt.c:13602
constexpr auto Order = NumberTraits<PlainType>::Order;
^~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-7/README.Bugs for instructions.
tests/CMakeFiles/autodiff-cpptests-implicit-conversion.dir/build.make:118: recipe for target 'tests/CMakeFiles/autodiff-cpptests-implicit-conversion.dir/forward/dual/eigen.test.cpp.o' failed
make[2]: *** [tests/CMakeFiles/autodiff-cpptests-implicit-conversion.dir/forward/dual/eigen.test.cpp.o] Error 1
CMakeFiles/Makefile2:323: recipe for target 'tests/CMakeFiles/autodiff-cpptests-implicit-conversion.dir/all' failed
make[1]: *** [tests/CMakeFiles/autodiff-cpptests-implicit-conversion.dir/all] Error 2
Makefile:146: recipe for target 'all' failed
make: *** [all] Error 2
The text was updated successfully, but these errors were encountered: