peci1 / robot_body_filter

Filters the robot's body out of point clouds and laser scans.
BSD 3-Clause "New" or "Revised" License
82 stars 21 forks source link

Cannot build robot_body_filter in ros-melodic ubuntu18.04 #20

Closed bohanwu closed 2 years ago

bohanwu commented 2 years ago

Hi,

It seems that robot_body_filter cannot be built via catkin build robot_body_filter in ros-meodic linux ubunt18.04 - something wrong about the const argument, qualifiers and -fpermissive. Please see stack trace below. Thank you.

In file included from src/robot_body_filter/include/robot_body_filter/RobotBodyFilter.h:16:0, from /src/robot_body_filter/src/RobotBodyFilter.cpp:12: src/robot_body_filter/include/robot_body_filter/utils/filter_utils.hpp: In instantiation of ‘T robot_body_filter::FilterBase::getParamVerbose(const string&, const T&, const string&, bool, robot_body_filter::FilterBase::ToStringFn) const [with T = bool; F = sensormsgs::LaserScan<std::allocator >; std::cxx11::string = std::cxx11::basic_string; robot_body_filter::FilterBase::ToStringFn = std::__cxx11::basic_string ()(const bool&)]’: src/robot_body_filter/src/RobotBodyFilter.cpp:389:79: required from here src/robot_body_filter/include/robot_body_filter/utils/filter_utils.hpp:77:41: error: passing ‘const robot_body_filter::FilterBase<sensormsgs::LaserScan<std::allocator > >’ as ‘this’ argument discards qualifiers [-fpermissive] if (filters::FilterBase::getParam(name, value))

peci1 commented 2 years ago

Thanks for the report, I'll investigate. It might be connected with a recent update of the filters package... What version of robot_body_filter are you using? Master branch?

peci1 commented 2 years ago

The build runs normally on my 18.04 system. You have probably outdated ros-melodic-filters. Please, update the package to version 1.8.2 and try rebuilding this package.

peci1 commented 2 years ago

Closed the issue due to inactivity. If it still persists after sudo apt dist-upgrade, please, let me know.