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 Oct 11, 2016
unknown repository
Merged
Add '#Include <vector>' to fix building on GCC-6#911dirk-thomas merged 1 commit intokinetic-develfrom unknown repository
dirk-thomas merged 1 commit intokinetic-develfrom
unknown repository
Conversation
Don't rely on transitive header inclusion to declare std::vector as building with GCC-6 fails due to no '#Include <vector>' statement.
Member
|
Thank you. |
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.