-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sensor_msgs dependency on boost #81
Comments
That looks like bug, alright. Is that the only reference? That package should not even be writing to |
I have not really looked into what the But at least this line is the only result when searching for boost in the include folder: $ grep -rn boost sensor_msgs
sensor_msgs/include/sensor_msgs/point_cloud_conversion.h:120: std::cerr << boost::str(boost::format("sensor_msgs::PointCloud accepts only float32 values, but field %d (%s) has field type %d!")%(int)d% input.fields[d].name%input.fields[d].datatype) << std::endl;
sensor_msgs/CHANGELOG.rst:179:* fix boost-finding stuff
sensor_msgs/CMakeLists.txt:5:# We want boost/format.hpp, which isn't in its own component. |
It does look like a heavy dependency for one line of display. Technically it's already a dependency since boost is part of the core but clearing it out is cleaner. @jack-oquin it would be great to use the rosconsole macros but we don't have them as a dependency and adding them would almost double the number of packages required. |
The sensor_msgs package depends on boost because
boost::str()
andboost::format()
are called to format an error message in point_cloud_conversion.h:120, but...boost is not explicitly declared as a dependency (of type
<run_depend>
or<build_export_depend>
?) in package.xml, only indirectly through message_runtime.point_cloud_conversion.h is lacking an include directive for
<boost/format.hpp>
and includes this header only indirectly viaros/time.h
:convertPointCloud2ToPointCloud()
should return false after printing the message to stderr in line 120.This is not directly related to those three issues, but we spent some time finding a problem while building sensor_msgs and dependents on a RedHat system with cmake 2.8.9, because sensor_msgs picked up and exported wrong Boost library paths in its generated cmake config if it was compiled without the
-DBoost_NO_BOOST_CMAKE=ON
argument (see http://stackoverflow.com/questions/9948375/cmake-find-package-succeeds-but-returns-wrong-path).The text was updated successfully, but these errors were encountered: