-
Notifications
You must be signed in to change notification settings - Fork 327
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
Fix parameter library export #448
Conversation
This looks quite sane, but I'm unsure how to actually test that locally, since the problem only occurred on the buildfarm when the JTC was installed as binary package. As the dependencies would have been installed already, if we built ros2_controllers from source on the same machine, this would not be quite the same test. |
I was able to build from source locally and that produced the same failure as in the logs in the buildfarm. I built using colcon with this command:
I believe the way colcon builds each package with an isolated build is really similar to how the buildfarm builds debian packages. I could be wrong about this, maybe others know a better way of testing this? |
I build my workspace locally and it builds fine also without the change introduced here. However, we experienced problems with ccache also in our CI pipeline when migrating the API to the parameter interface, see this commit and this failing pipeline before disabling the cache. That's why I am rather certain that it should not be a matter of building everything from source, but the problem is actually the dependency simply not being installed, as it was only a build dependency. As this PR adds |
I wanted to do it this way because the library generated has more dependencies than |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for updating this!
e6e9cf1
to
2fce19b
Compare
@tylerjw It's OK that some builds are failing (unfortunately). We have to get |
@fmauch
This PR is directed towards fixing the issue experienced by ur_controllers in this PR: #446
In my local testing the changes in #446 did not cuase the ur_controllers code to complete building, it did get it further than the error experienced in the buildfarm.
Instead of using the parameters.xml to export the transitive dependency of
parameter_traits
from the parmaeter library this updates the cmake to export the generated pareamters library and export a dependency ongenerate_parameter_library
which exports the dependency onparameter_traits
in addition to a handful of other dependencies of the parameters interface.I tested this by building the following workspace on Rolling.
For reference on the cmake changes for exporting libraries I used this: https://docs.ros.org/en/rolling/How-To-Guides/Ament-CMake-Documentation.html#building-a-library
Recently I went through fixing a bunch of my other library code and had to learn how all this works again.