Skip to content
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

Add '#Include <vector>' to fix building on GCC-6 #911

Merged
merged 1 commit into from
Oct 11, 2016

Conversation

ghost
Copy link

@ghost ghost commented Oct 4, 2016

Building with GCC-6 fails with:

/var/tmp/portage/dev-ros/rosconsole-1.12.4/work/ros_comm-1.12.4/tools/rosconsole/include/ros/console.h:124:14: error: 'vector' in namespace 'std' does not name a template type typedef std::vector<TokenPtr> V_Token;

'tools/rosconsole/include/ros/console.h' doesn't have '#Include '.

It shouldn't rely on transitive header inclusion for and needs to explicitly include it.

Don't rely on transitive header inclusion to declare std::vector as building with GCC-6 fails due to no '#Include <vector>' statement.
@dirk-thomas
Copy link
Member

Thank you.

@dirk-thomas dirk-thomas merged commit 530cd53 into ros:kinetic-devel Oct 11, 2016
bulwahn added a commit to bulwahn/meta-ros that referenced this pull request Nov 28, 2016
Compiling rosconsole failed with:
```
[...]/ros_comm-1.11.20/tools/rosconsole/include/ros/console.h:121:14: error: 'vector' in namespace 'std' does not name a template type
 typedef std::vector<TokenPtr> V_Token;
```

The console.h assumed that vector is included already by one of its
dependencies. This bold assumption has been uncovered by the update
of the boost library to version 1.62.0 [1, 2] in openembedded-core
repository.

Coincidently, this issue was also noticed by ROS users on Gentoo and
Arch Linux, which probably also use the latest boost library and gcc6,
and they opened pull requests on the indigo and kinetic branches [3, 4, 5]
with commits to address the issue. The patch in the kinetic branch has
been merged, the others to the indigo branch have been rejected as the
ros-comm maintainers intend to simply backport the patch from the
kinetic branch for the next release.

This commit applies the patch merged in the kinetic branch in our
recipe for the current indigo release version.

[1] http://cgit.openembedded.org/openembedded-core/commit/?id=c31030d87cd1741a4186d711325b8eab9c70b327
[2] http://cgit.openembedded.org/openembedded-core/commit/?id=42b4fa2f923244bc047874752d2e0381ff6f0a25
[3] ros/ros_comm#911
[4] ros/ros_comm#930
[5] ros/ros_comm#939

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
rsinnet pushed a commit to MisoRobotics/ros_comm that referenced this pull request Jun 19, 2017
Add '#Include <vector>' to fix building on GCC-6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants