ArduPilot / ArduPilot/OctomapPlanner
Error while compiling "fcl"#2
- Dominant language
- C++
- Stars
- 163
- Forks
- 43
- PR merge metrics
- No merged PRs in 30d
Description
Thanks for having a look at my problem.
Error:
Scanning dependencies of target test_gjk_libccd-inl_gjk_doSimplex2
[ 95%] Building CXX object test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_gjk_doSimplex2.dir/test_gjk_libccd-inl_gjk_doSimplex2.cpp.o
/home/user/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp: In lambda function:
/home/user/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp:181:67: error: no matching function for call to ‘max()’
const ccd_real_t eps = std::max({1., p_OA.norm(), p_OB.norm()}) * kEps;
^
In file included from /usr/include/c++/5/memory:62:0,
from /home/user/fcl/include/fcl/geometry/collision_geometry.h:41,
from /home/user/fcl/include/fcl/geometry/shape/shape_base.h:41,
from /home/user/fcl/include/fcl/geometry/shape/box.h:41,
from /home/user/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47,
from /home/user/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41,
from /home/user/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp:37:
/usr/include/c++/5/bits/stl_algobase.h:219:5: note: candidate: template const _Tp& std::max(const _Tp&, const _Tp&)
max(const _Tp& __a, const _Tp& __b)
^
/usr/include/c++/5/bits/stl_algobase.h:219:5: note: template argument deduction/substitution failed:
/home/user/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp:181:67: note: candidate expects 2 arguments, 1 provided
const ccd_real_t eps = std::max({1., p_OA.norm(), p_OB.norm()}) * kEps;
^
In file included from /usr/include/c++/5/memory:62:0,
from /home/user/fcl/include/fcl/geometry/collision_geometry.h:41,
from /home/user/fcl/include/fcl/geometry/shape/shape_base.h:41,
from /home/user/fcl/include/fcl/geometry/shape/box.h:41,
from /home/user/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47,
from /home/user/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41,
from /home/user/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp:37:
/usr/include/c++/5/bits/stl_algobase.h:265:5: note: candidate: template const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
/usr/include/c++/5/bits/stl_algobase.h:265:5: note: template argument deduction/substitution failed:
/home/user/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp:181:67: note: candidate expects 3 arguments, 1 provided
const ccd_real_t eps = std::max({1., p_OA.norm(), p_OB.norm()}) * kEps;
^
In file included from /usr/include/c++/5/algorithm:62:0,
from /usr/include/eigen3/Eigen/Core:232,
from /usr/include/eigen3/Eigen/Dense:1,
from /home/user/fcl/include/fcl/common/types.h:46,
from /home/user/fcl/include/fcl/math/bv/AABB.h:41,
from /home/user/fcl/include/fcl/geometry/collision_geometry.h:43,
from /home/user/fcl/include/fcl/geometry/shape/shape_base.h:41,
from /home/user/fcl/include/fcl/geometry/shape/box.h:41,
from /home/user/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47,
from /home/user/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41,
from /home/user/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp:37:
/usr/include/c++/5/bits/stl_algo.h:3457:5: note: candidate: template _Tp std::max(std::initializer_list<_Tp>)
max(initializer_list<_Tp> __l)
^
/usr/include/c++/5/bits/stl_algo.h:3457:5: note: template argument deduction/substitution failed:
/home/user/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp:181:67: note: deduced conflicting types for parameter ‘_Tp’ (‘double’ and ‘float’)
const ccd_real_t eps = std::max({1., p_OA.norm(), p_OB.norm()}) * kEps;
^
In file included from /usr/include/c++/5/algorithm:62:0,
from /usr/include/eigen3/Eigen/Core:232,
from /usr/include/eigen3/Eigen/Dense:1,
from /home/user/fcl/include/fcl/common/types.h:46,
from /home/user/fcl/include/fcl/math/bv/AABB.h:41,
from /home/user/fcl/include/fcl/geometry/collision_geometry.h:43,
from /home/user/fcl/include/fcl/geometry/shape/shape_base.h:41,
from /home/user/fcl/include/fcl/geometry/shape/box.h:41,
from /home/user/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47,
from /home/user/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41,
from /home/user/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp:37:
/usr/include/c++/5/bits/stl_algo.h:3463:5: note: candidate: template _Tp std::max(std::initializer_list<_Tp>, _Compare)
max(initializer_list<_Tp> __l, _Compare __comp)
^
/usr/include/c++/5/bits/stl_algo.h:3463:5: note: template argument deduction/substitution failed:
/home/user/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp:181:67: note: deduced conflicting types for parameter ‘_Tp’ (‘double’ and ‘float’)
const ccd_real_t eps = std::max({1., p_OA.norm(), p_OB.norm()}) * kEps;
^
test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_gjk_doSimplex2.dir/build.make:62: recipe for target 'test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_gjk_doSimplex2.dir/test_gjk_libccd-inl_gjk_doSimplex2.cpp.o' failed
make[2]: *** [test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_gjk_doSimplex2.dir/test_gjk_libccd-inl_gjk_doSimplex2.cpp.o] Error 1
CMakeFiles/Makefile2:2574: recipe for target 'test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_gjk_doSimplex2.dir/all' failed
make[1]: *** [test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_gjk_doSimplex2.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Contributor guide
No contributing guide indexed for this repository
Research direction
Open test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp at line 181 and inspect the failing std::max expression and its surrounding types. Reproduce the failure by building the test_gjk_libccd-inl_gjk_doSimplex2 CMake target; done means that target compiles successfully and its test passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system, testing
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100