-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Startup check for librealsense version mismatch #1189
Comments
@mjsobrep Thanks for your feature request! I have applied the Enhancement label (meaning it is a Feature Request) so that the RealSense developers can track it. :) |
This is not a trivial feature. Suppose after a new librealsense2 version is released, with bug corrections, after releasing a realsense2_camera version. The new librealsense2 is better then the latest available at the time of the wrapper's release but how would it know about it? |
If a new version of librealsense2 comes out, and realsense2_camera supports it without changes then just release a new version of realsense2_camera with the only change being the supported version of librealsense2.
The wrapper would never recommend any update which it has not been explicitly told (at release time) is supported. Essentially the wrapper should never provide support to future versions of librealsense2 |
@mjsobrep Do you wish to continue with this discussion or can it be closed please? Thanks! |
@MartyG-RealSense looks like I was the last comment. If your team says this is something that they are not doing, then y'all can close it. Not sure why you are asking me... |
The case was created by you, so I wanted to make sure that you were okay with closing it instead of cutting you off. Reading the comments of @doronhi the RealSense ROS wrapper developer, it seems unlikely that the feature discussed will be implemented, so I will close the case. Thanks so much for your contribution! |
@MartyG-RealSense ok, that is a bummer. Stability issues like this make it hard to use realsense. All of the robotics folks I know use realsense for one generation of development, get frustrated, and use something else. |
@doronhi @MartyG-RealSense simply closing this without offering an alternative solution is disappointing. I always manually apt-mark hold anything realsense because updates continuously break and aren't synchronized. |
Since there is clearly interest from RealSense users in this subject, I think a fair compromise is to re-open the issue and then users can post their ideas here for how a startup check might be implemented, given the considerations that @doronhi outlined in #1189 (comment) |
For my $0.02 on the matter, since librealsense follows semantic versioning, it would make sense to have releases deal with checks at only the major and minor levels. For implementing this feature, the idea would be the same as Python's requirements file: you allow certain major release ranges (or just a single major release version) and you get more restrictive in the support depending on the compatibility. E.g. if Now that I think about it, I disagree with @doronhi's comment "sometimes there is a modification in librealsense2 that prevents the wrapper to use it without modifications". The idea of semantic versioning is that API changes require a major version bump and breaking changes require at least a minor version bump. Patch version bumps should be opaque to end users and not affect anything (other than fixing the relevant bug), at least externally. If the wrapper has a hard time with this, that just means the wrapper has some major design flaws and needs to be re-thought out. This issue is definitely a housekeeping chore - not hard to implement, but not glamorous either. |
realsense2_camera has a version check for librealsense version in it's CMakeLists.txt file. The recommended version is being updated, manually, every realsense2_camera's release. |
@doronhi If I understand, then yes, that check should be done at runtime in addition to build time. Because the two packages are managed and installed separately, checking at build time does not make any guarantees about the state of the target system at runtime. It would be even better if the underlying synchronization problems did not exist. Case1:I install librealsense and realsense-ros, everything is working. I run an apt update & upgrade, expecting that to be safe. librealsense updates, but a realsense-ros update is not available and the entire system breaks. Ideally that would not be possible. It does happen, regularly. At the least, when I go to debug the system, it would be helpful to be alerted to the source of the error |
Please check out #1278 merged into version 2.2.15 to see how much it meets your request. |
Hey @doronhi , that looks great. I haven't tested it, but it seems to do the minimum of what I want. It would be great if there were a way to prevent that error from ever being thrown. I don't know if there is a way to achieve that. With #1278 we will at least know why errors are cropping up. Thank you |
I'm glad it helps a little. |
Makes sense. Appreciate your help with this. |
Adding a check to the ros wrapper's startup that ensures that the librealsense version being used is the ideal one should be added. That check should not break anything but should make a very loud (but silenceable through parameters) noise to let the user know.
(from #1187)
The text was updated successfully, but these errors were encountered: