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

Foxy package inconsistency #544

Closed
zultron opened this issue Nov 4, 2020 · 2 comments
Closed

Foxy package inconsistency #544

zultron opened this issue Nov 4, 2020 · 2 comments
Labels
more-information-needed Further information is required

Comments

@zultron
Copy link

zultron commented Nov 4, 2020

The ros-foxy-rosidl-runtime-cpp package currently shipping in Foxy is v. 1.0.1-1focal.20200624.054926. The rosidl_generator_traits::name() template function was added in #512 and later tagged in 1.1.0, so that function isn't declared in /opt/ros/foxy/include/rosidl_runtime_cpp/traits.hpp.

However, the ros-foxy-test-msgs package version 1.0.0-1focal.20201007.204652 ships a fibonacci action with headers generated against some post-#512 revision, so it uses the name() template even though it's not provided in the ros-foxy-rosidl-runtime-cpp package, and the compiler errors out; see below.

Bug report

  • Operating System:
    • Ubuntu Focal
  • Installation type:
    • Binary packages
  • Version or commit hash:
    • Package ver. 1.0.1-1focal.20200624.054926
  • DDS implementation:
    • N/A
  • Client library (if applicable):
    • N/A

Steps to reproduce issue

docker run -it osrf/ros:foxy-desktop bash -xec '
    apt-get update
    apt-get install ros-foxy-test-msgs
    echo "#include \"test_msgs/action/fibonacci.hpp\"" > foo.cpp
    g++ -I/opt/ros/foxy/include -o foo.o -c foo.cpp
'

Expected behavior

Program should compile successfully

Actual behavior

Compile fails:

In file included from /opt/ros/foxy/include/test_msgs/action/fibonacci.hpp:9,
                 from foo.cpp:1:
/opt/ros/foxy/include/test_msgs/action/detail/fibonacci__traits.hpp:23:25: error: expected initializer before ‘<’ token
   23 | inline const char * name<test_msgs::action::Fibonacci_Goal>()
      |                         ^
/opt/ros/foxy/include/test_msgs/action/detail/fibonacci__traits.hpp:52:25: error: expected initializer before ‘<’ token
   52 | inline const char * name<test_msgs::action::Fibonacci_Result>()
      |                         ^
[...]

Additional information

I'm not sure this is really this project's problem, since it really seems related to the build farm, and I will keep looking for the culprit.

However, it may help in case others have problems (e.g. this answers.ros.org question); a workaround would also be to release 1.1.0 to Foxy.

@hidmic
Copy link
Contributor

hidmic commented Nov 4, 2020

@zultron latest ros-foxy-rosidl-runtime-cpp version shipped is 1.1.0-1focal.20201006.193603. Could it be that you did a partial upgrade or didn't update your apt sources? I give you that it'd be nice if installing or updating ros-foxy-test-msgs would force a ros-foxy-rosidl-runtime-cpp update (which is not the case right now).

@hidmic hidmic added the more-information-needed Further information is required label Nov 4, 2020
@zultron
Copy link
Author

zultron commented Nov 5, 2020

You're totally right! I'm very sorry for wasting your bandwidth. Problem solved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
more-information-needed Further information is required
Projects
None yet
Development

No branches or pull requests

2 participants