Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Using wrong headers #23

Closed
audrow opened this issue Sep 25, 2020 · 6 comments
Closed

Using wrong headers #23

audrow opened this issue Sep 25, 2020 · 6 comments
Assignees
Labels
bug Something isn't working

Comments

@audrow
Copy link
Member

audrow commented Sep 25, 2020

It seems that urdfdom is using the system version of console_bridge.

When enabling warnings in #22, it seems enabling -Wpedantic enabled -Wgnu-zero-variadic-macro-arguments in Clang which raised the following warning (as noted here, #22 (comment)):

[  3%] Building CXX object urdf_parser/CMakeFiles/urdfdom_model.dir/src/pose.cpp.o
In file included from /Users/osrf/jenkins-agent/workspace/ci_osx/ws/src/ros2/urdfdom/urdf_parser/src/pose.cpp:42:
/usr/local/include/console_bridge/console.h:67:88: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments]
  console_bridge::log(__FILE__, __LINE__, console_bridge::CONSOLE_BRIDGE_LOG_ERROR, fmt, ##__VA_ARGS__)

Two things from this warning:

@clalancette
Copy link

I do believe that this has been fixed as part of ros2/console_bridge_vendor#19 . @audrow can you confirm?

@scpeters
Copy link

is your system version of console_bridge coming from homebrew? the homebrew version is on 1.0.1:

what does brew outdated say?

@audrow
Copy link
Member Author

audrow commented Oct 16, 2020

is your system version of console_bridge coming from homebrew?

I believe so. I don't have access to a macOS machine, so what I've run has been in CI, so I can't easily look at the output of brew outdated. However, in the macOS CI for #22, I can see the version of console_bridge after the brew list --versions is 0.4.4. I can also see that when building console_bridge_vendor, 1.0.1 is used.

The warnings that I'm getting in #22 should be fixed in 1.0.1, but are still present in 0.4.4, which makes me think that the system version is indeed coming from homebrew and is version 0.4.4. Below is the warning:

/usr/local/include/console_bridge/console.h:67:88: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments]
20:31:24   console_bridge::log(__FILE__, __LINE__, console_bridge::CONSOLE_BRIDGE_LOG_ERROR, fmt, ##__VA_ARGS__)

@scpeters
Copy link

is your system version of console_bridge coming from homebrew?

I believe so. I don't have access to a macOS machine, so what I've run has been in CI, so I can't easily look at the output of brew outdated. However, in the macOS CI for #22, I can see the version of console_bridge after the brew list --versions is 0.4.4. I can also see that when building console_bridge_vendor, 1.0.1 is used.

The warnings that I'm getting in #22 should be fixed in 1.0.1, but are still present in 0.4.4, which makes me think that the system version is indeed coming from homebrew and is version 0.4.4. Below is the warning:

/usr/local/include/console_bridge/console.h:67:88: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments]
20:31:24   console_bridge::log(__FILE__, __LINE__, console_bridge::CONSOLE_BRIDGE_LOG_ERROR, fmt, ##__VA_ARGS__)

if this only happens in our macOS CI, then I would update the version of console_bridge in our macOS CI machines. I know upgrading packages may have unintended side-effects, but we can at least estimate the impact with a dry run of a targeted upgrade:

  • brew upgrade console_bridge --dry-run

@clalancette
Copy link

@audrow I've now moved the main ROS 2 branch over to https://github.com/ros/urdfdom . Can you please move this issue over there? Thanks.

@audrow
Copy link
Member Author

audrow commented Oct 27, 2020

The discussion will continue on ros#147.

@audrow audrow closed this as completed Oct 27, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants