{"action":"created","issue":{"url":"https://api.github.com/repos/ros/common_msgs/issues/81","labels_url":"https://api.github.com/repos/ros/common_msgs/issues/81/labels{/name}","comments_url":"https://api.github.com/repos/ros/common_msgs/issues/81/comments","events_url":"https://api.github.com/repos/ros/common_msgs/issues/81/events","html_url":"https://github.com/ros/common_msgs/issues/81","id":117893381,"number":81,"title":"sensor_msgs dependency on boost","user":{"login":"meyerj","id":2506837,"avatar_url":"https://avatars.githubusercontent.com/u/2506837?v=3","gravatar_id":"","url":"https://api.github.com/users/meyerj","html_url":"https://github.com/meyerj","followers_url":"https://api.github.com/users/meyerj/followers","following_url":"https://api.github.com/users/meyerj/following{/other_user}","gists_url":"https://api.github.com/users/meyerj/gists{/gist_id}","starred_url":"https://api.github.com/users/meyerj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/meyerj/subscriptions","organizations_url":"https://api.github.com/users/meyerj/orgs","repos_url":"https://api.github.com/users/meyerj/repos","events_url":"https://api.github.com/users/meyerj/events{/privacy}","received_events_url":"https://api.github.com/users/meyerj/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-11-19T19:48:29Z","updated_at":"2015-12-21T20:31:25Z","closed_at":null,"body":"The sensor_msgs package depends on boost because `boost::str()` and `boost::format()` are called to format an error message in [point_cloud_conversion.h:120](https://github.com/ros/common_msgs/blob/89788101b21aec550ef4d0b93c7f668e9e8d19c0/sensor_msgs/include/sensor_msgs/point_cloud_conversion.h#L120), but...\r\n\r\n* boost is not explicitly declared as a dependency (of type `<run_depend>` or `<build_export_depend>`?) in package.xml, only indirectly through message_runtime.\r\n* point_cloud_conversion.h is lacking an include directive for `<boost/format.hpp>` and includes this header only indirectly via `ros/time.h`:\r\n\r\n   ```\r\n. /opt/ros/indigo/include/sensor_msgs/point_cloud_conversion.h\r\n.. /opt/ros/indigo/include/sensor_msgs/PointCloud.h\r\n... /opt/ros/indigo/include/ros/serialization.h\r\n.... /opt/ros/indigo/include/ros/time.h\r\n..... /usr/include/boost/math/special_functions/round.hpp\r\n...... /usr/include/boost/math/policies/error_handling.hpp\r\n....... /usr/include/boost/format.hpp\r\n   ```\r\n\r\n* `convertPointCloud2ToPointCloud()` should return false after printing the message to stderr in line 120.\r\n\r\nThis 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)."},"comment":{"url":"https://api.github.com/repos/ros/common_msgs/issues/comments/166409642","html_url":"https://github.com/ros/common_msgs/issues/81#issuecomment-166409642","issue_url":"https://api.github.com/repos/ros/common_msgs/issues/81","id":166409642,"user":{"login":"tfoote","id":447804,"avatar_url":"https://avatars.githubusercontent.com/u/447804?v=3","gravatar_id":"","url":"https://api.github.com/users/tfoote","html_url":"https://github.com/tfoote","followers_url":"https://api.github.com/users/tfoote/followers","following_url":"https://api.github.com/users/tfoote/following{/other_user}","gists_url":"https://api.github.com/users/tfoote/gists{/gist_id}","starred_url":"https://api.github.com/users/tfoote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tfoote/subscriptions","organizations_url":"https://api.github.com/users/tfoote/orgs","repos_url":"https://api.github.com/users/tfoote/repos","events_url":"https://api.github.com/users/tfoote/events{/privacy}","received_events_url":"https://api.github.com/users/tfoote/received_events","type":"User","site_admin":false},"created_at":"2015-12-21T20:31:25Z","updated_at":"2015-12-21T20:31:25Z","body":"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. \r\n\r\n@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."}}