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

Projects
None yet
2 participants
@Hodorgasm
Copy link
Contributor

Hodorgasm 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.

Add '#Include <vector>' to fix building on GCC-6
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

This comment has been minimized.

Copy link
Member

dirk-thomas commented Oct 11, 2016

Thank you.

@dirk-thomas dirk-thomas merged commit 530cd53 into ros:kinetic-devel Oct 11, 2016

1 check passed

Kpr__ros_comm__ubuntu_xenial_amd64 Build finished.
Details

bulwahn added a commit to bulwahn/meta-ros that referenced this pull request Nov 28, 2016

rosconsole: add include in console.h (resolves bmwcarit#433)
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>

@romainreignier romainreignier referenced this pull request Nov 28, 2016

Open

kinetic? #57

rsinnet pushed a commit to MisoRobotics/ros_comm that referenced this pull request Jun 19, 2017

Merge pull request ros#911 from Hodorgasm/kinetic-devel
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
You can’t perform that action at this time.