Skip to content
This repository was archived by the owner on May 31, 2025. It is now read-only.

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

Merged
dirk-thomas merged 1 commit intokinetic-develfrom
unknown repository
Oct 11, 2016
Merged

Add '#Include <vector>' to fix building on GCC-6#911
dirk-thomas merged 1 commit intokinetic-develfrom
unknown repository

Conversation

@ghost
Copy link
Copy Markdown

@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
Copy Markdown
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 subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants