-
Notifications
You must be signed in to change notification settings - Fork 260
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
[humble] Backport close() to rosbag2_cpp::writer to humble #1363
Conversation
The code itself is really straightforward but I don't see a way that we can really backport this change. See, within a stable ROS distribution (Humble), we guarantee both API and ABI stability for libraries in the base. While this change does not break any existing APIs, it very much does change the ABI, requiring recompilation of all downstream projects using it to guarantee correct behavior. The best way I can think of in Humble to get the desired behavior is to just use the |
@emersonknapp Actually adding a new non-virtual method is not a breaking Although we might need to add it to the end of the existing methods. |
@bernatgaston Please fix DCO and uncrustify warnings. |
97bba1d
to
7adc398
Compare
Signed-off-by: Bernat <bernat.gaston@movvo.eu>
7adc398
to
259c489
Compare
Hi, thanks.
Also I fixed the DCA and other errors/warnings |
ABI/API compatibility reportAPI compatibility report between librosbag2_cpp.so (X) and librosbag2_cpp.so (Y) objects on x86_64Binary Test Info
Test Results
Problem Summary
Added Symbols 1writer.hpp, librosbag2_cpp.so _ZN11rosbag2_cpp6Writer5closeEv Header Files 148__mbstate_t.h Source Files 17cache_consumer.cpp Objects 1librosbag2_cpp.so Test Info
Test Results
Problem Summary
Added Symbols 1writer.hpp _ZN11rosbag2_cpp6Writer5closeEv Header Files 148__mbstate_t.h Source Files 17cache_consumer.cpp Objects 1librosbag2_cpp.so _Generated by ABI Compliance Checker 2.3 _ |
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.
LGTM
Gist: https://gist.githubusercontent.com/MichaelOrlov/331214daeefb3e46d9456335e295117d/raw/2a163a2ed0bb7d765da8944331210e3652461a74/ros2.repos |
Thanks for the info! It looks like I've been overly conservative with API changes, maybe because the ABI-checker is so unreliable. It looks like the ABI checker is not enabled for anything in Humble or Iron - that's unfortunate because I don't trust us to be 100% reliable at maintaining that guarantee as human reviewers |
@emersonknapp I agree that we need to add ABI-Checker to the PR job on Humble and Iron. But last time on Foxy it was causing errors that ABI checker was not able to pull in dependencies for the mcap-src which is downloading in via CMake file. As regards to this particular PR I have spent some hefty time and ran ABI Checker manually on my local machine see my report here #1363 (comment) |
I mean that there are no packages at all that use it in Humble, maybe it was disabled entirely. Perhaps it would be worth trying to make a GitHub Action in the |
Ported the close functionality from rolling to humble