Comment out rosdep update and pin Rviz version to 15.2.1#6116
Comment out rosdep update and pin Rviz version to 15.2.1#6116SteveMacenski merged 17 commits intoros-navigation:mainfrom
Conversation
Signed-off-by: Maurice Alexander Purnawan <mauricepurnawan@gmail.com>
Signed-off-by: Maurice Alexander Purnawan <mauricepurnawan@gmail.com>
Temporarily comment this out Signed-off-by: Maurice Alexander Purnawan <mauricepurnawan@gmail.com>
Signed-off-by: Maurice Alexander Purnawan <mauricepurnawan@gmail.com>
Pin ros2/rviz to version 2cbba6bbeb32 to avoid Qt5 and Qt6 mismatch. Signed-off-by: Maurice Alexander Purnawan <mauricepurnawan@gmail.com>
|
Circle CI is still not working because the base image is not updated, but the workflow in my fork is already green https://github.com/mini-1235/navigation2/actions/runs/25112190826/job/73589075208 |
|
The kilted/jazzy workflow is failing because I pin the rviz version, not sure what's the best solution here |
|
Is there a fix possible in nav2 rviz plugins? This would suck if we stopped being able to compile main against |
I don't think so, this looks more like an upstream issue IMO. I think the options would be:
and I don't think this worth the effort right now, especially we are transitioning to 26.04 in a few weeks. What about maintaining separate .repos file for different distros instead? Realistically, most of the dependencies we rely on are not version-aligned across distros right? Libraries like btcpp is an exception here |
|
Actually, can you detail the problem? Maybe I'm not understanding correctly. I agree we shouldn't do anything for a transient couple of week problem. But any issue with supporting Jazzy/24.04 and Lyrical/26.04 on a single Nav2 branch as-is? I thought perhaps we needed to support QT5/6 in Nav2's rviz plugins, but not sure why we'd have to mess with gazebo since we don't own any customziations there. |
|
The issue is basically that our base image + rviz is building against qt5, which is still the default for 24.04. qt6 only becomes the default in 26.04. Now when we install gazebo, it starts pulling in qt6, that's the default option in 24.04. Then when nav2_rviz_plugins tries to find rviz_common, it ends up picking the qt6 one, since that is also supported, even though it was originally exported with qt5. I believe we tried hacking the cmakelist on our side before, but it didn't work, and after we raised an issue upstream they switched things to qt6 by default. But then I think because of some issues in rqt, they rolled it back to qt5 again Qt5 is still supported in the main branch, but it assumes that you don't have qt6 installed or upstream rviz doesn't prioritize qt6 when both are available |
|
To be clear, does this code work for Qt5 as long as Qt6 is not installed for 24.04 (i.e. if we change nothing, the same code still supports 24.04 and 26.04 distros) -- and Qt6 when Qt6 is installed & exported? Trying to assess if we if this breaks I'm reading your comment and I could see it being both ways, potentially, so just want to be clear |
That really depends on platform + distros + installation method + build order. Before Lyrical, qt6 wasn't supported, so rviz would always export and find qt5. Even if qt6 was installed on the system, it wouldn't be an issue. The problem only comes when you are building against a version of rviz that supports both qt5 and qt6, and qt5 is exported from rviz, eventually if qt6 is installed in your environment when building Nav2, it can end up picking qt6 instead, and that is where things start to break. |
|
So what should we do in Nav2's code to support both 24.04/Jazzy and 26.04/Lyrical on |
|
A bit busy today, so I didn't get a chance to respond to all the PRs. I will try to get through them within this week. I am spending some time on this now before going to bed, hopefully I can get CI green again so I don't block others.
Nothing I think. My PR a few months ago should already handle this properly, so most people shouldn't run into build issues. A minority(I think the Tier3 platform in REP) might still hit the issue I described above, but I think the right fix is upstream. Given I am not too familiar with the Qt APIs and don't really have time to go through that many repos, my suggestion is:
Does that make sense to you? |
Signed-off-by: Maurice <mauricepurnawan@gmail.com>
|
yes that makes sense! Let me know when I should look again, but so far so good |
|
I see the workflows are passing, except for circle ci, so this is ready to review and merge right now. I am on the way to the airport so I probably can't do any push if you want me to fix something |
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Updated ROS distribution index URL and modified rosdep sources. Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

Basic Info
Description of contribution in a few bullet points
Description of documentation updates required from your changes
Description of how this change was tested
Future work that may be required in bullet points
For Maintainers:
backport-*.