intel / ad-rss-lib

Library implementing the Responsibility Sensitive Safety model (RSS) for Autonomous Vehicles
https://intel.github.io/ad-rss-lib/
GNU Lesser General Public License v2.1
336 stars 138 forks source link

compile error of boost lib #132

Closed xmuchen closed 8 months ago

xmuchen commented 1 year ago

after i running colcon build, it ocuured error as following:

/xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/src/geometry/Geometry.cpp:152:53: error: no matching function for call to ‘evaluate_polynomial(boost::array<double, 4>&, double&)’ 152 | double v = boost::math::tools::evaluate_polynomial(poly, u); | ~~~~~~~~~^~~ In file included from /xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/include/opendrive/geometry/Geometry.hpp:19, from /xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/src/geometry/Geometry.cpp:13: /usr/local/include/boost/math/tools/rational.hpp:189:10: note: candidate: ‘template<class T, class U> U boost::math::tools::evaluate_polynomial(const T, const U&, std::size_t)’ 189 | inline U evaluate_polynomial(const T poly, U const& z, std::size_t count) BOOST_MATH_NOEXCEPT(U) | ^~~~~~~ /usr/local/include/boost/math/tools/rational.hpp:189:10: note: template argument deduction/substitution failed: /xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/src/geometry/Geometry.cpp:152:53: note: mismatched types ‘const T*’ and ‘boost::array<double, 4>’ 152 | double v = boost::math::tools::evaluate_polynomial(poly, u); | ~~~~~~~~~^~~ In file included from /xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/include/opendrive/geometry/Geometry.hpp:19, from /xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/src/geometry/Geometry.cpp:13: /usr/local/include/boost/math/tools/rational.hpp:205:10: note: candidate: ‘template<long unsigned int N, class T, class V> V boost::math::tools::evaluate_polynomial(const T (&)[N], const V&)’ 205 | inline V evaluate_polynomial(const T(&a)[N], const V& val) BOOST_MATH_NOEXCEPT(V) | ^~~~~~~ /usr/local/include/boost/math/tools/rational.hpp:205:10: note: template argument deduction/substitution failed: /xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/src/geometry/Geometry.cpp:152:53: note: mismatched types ‘const T [N]’ and ‘boost::array<double, 4>’ 152 | double v = boost::math::tools::evaluate_polynomial(poly, u); | ~~~~~~~~~^~~ In file included from /xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/include/opendrive/geometry/Geometry.hpp:19, from /xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/src/geometry/Geometry.cpp:13: /usr/local/include/boost/math/tools/rational.hpp:212:10: note: candidate: ‘template<long unsigned int N, class T, class V> V boost::math::tools::evaluate_polynomial(const std::array<T, N>&, const V&)’ 212 | inline V evaluate_polynomial(const std::array<T,N>& a, const V& val) BOOST_MATH_NOEXCEPT(V) | ^~~~~~~ /usr/local/include/boost/math/tools/rational.hpp:212:10: note: template argument deduction/substitution failed: /xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/src/geometry/Geometry.cpp:152:53: note: ‘boost::array<double, 4>’ is not derived from ‘const std::array<T, N>’ 152 | double v = boost::math::tools::evaluate_polynomial(poly, u); | ~~~~~~~~~^~~ /xurban/ad-rss-lib/dependencies/map/ad_map_opendrive_reader/src/geometry/Geometry.cpp:166:60: error: no matching function for call to ‘evaluate_polynomial(boost::array<double, 4>&, double&)’ 166 | double tangentV = boost::math::tools::evaluate_polynomial(tangentPoly, u);

berndgassmann commented 1 year ago

What version of boost are you using? ad-rss-lib and the dependent carla-map libraries are compiling e.g. with 1.65 (ubuntu 18.04), 1.71 (ubuntu 20.04), 1.72 (CARLA 0.9.13) and 1.80 seems to compile (used in CARLA 0.9.14).

xmuchen commented 1 year ago

my boost library version is 1.78,ubuntu20.04,it seems look like to updown version can solve this issue.