Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ROS2: fixing run failures#2059

Merged
vooon merged 7 commits intoros2from
r2-fix-run-error
Sep 10, 2025
Merged

ROS2: fixing run failures#2059
vooon merged 7 commits intoros2from
r2-fix-run-error

Conversation

@vooon
Copy link
Member

@vooon vooon commented Sep 9, 2025

No description provided.

@vooon vooon added this to the Version 1.22 milestone Sep 9, 2025
@vooon vooon modified the milestones: Version 1.22, Version 2.11 Sep 9, 2025
@vooon vooon marked this pull request as ready for review September 10, 2025 10:46
@vooon
Copy link
Member Author

vooon commented Sep 10, 2025

Fix mavros_node loading and component loading.
But looks like UAS needs extra debugging when used that way.

Fix for moved mavlink messages in 2025.9.9. Unfortunately cmake's check_cxx_symbol_exists() do not work for it, and mavlink do not have version variable (unsure why, though ament reads package.xml).

@vooon vooon merged commit 8f6b5c9 into ros2 Sep 10, 2025
0 of 8 checks passed
@vooon vooon deleted the r2-fix-run-error branch September 10, 2025 10:53
@vooon vooon mentioned this pull request Sep 10, 2025
@Ryanf55
Copy link

Ryanf55 commented Sep 22, 2025

and mavlink do not have version variable (unsure why, though ament reads package.xml).

Mavlink does yet not generate a CMake-compatible version file.
I just compiled ros2-gbp/mavlink-gbp-release on release/humble/mavlink/2025.9.9-1 to see.
Check install/mavlink/share/mavlink/cmake/mavlink-config.cmake and notice how it doesn't include anything related to versioning. Just because the version is set in the package.xml doesn't mean it's usable.
That needs more CMake code added.

@hamishwillee
Copy link

@vooon FYI MAVLink is planning on moving as much of the stuff in common.xml as is actually common into standard.xml. This is going to be a slow process, and is likely to break you again.
Note that we didn't even consider this since most C systems include common/mavlink.h which picks up all the other definitions.

This is going to happen but I'm open to suggestions on how we can mitigate the pain to you.

@vooon
Copy link
Member Author

vooon commented Sep 22, 2025

@hamishwillee cmake has the capability to check defined symbols for C/C++, probably i just need to get it working.

Or maybe to change C++11 mavgen to make cross-namespace 'using' (but i don't really like that idea).

@Ryanf55
Copy link

Ryanf55 commented Sep 24, 2025

@hamishwillee cmake has the capability to check defined symbols for C/C++, probably i just need to get it working.

Or maybe to change C++11 mavgen to make cross-namespace 'using' (but i don't really like that idea).

If you can restrain it to class scope rather than polluting the global namespace with mavlink symbols, that's probably fine.

@Ryanf55
Copy link

Ryanf55 commented Jan 12, 2026

@vooon FYI MAVLink is planning on moving as much of the stuff in common.xml as is actually common into standard.xml. This is going to be a slow process, and is likely to break you again. Note that we didn't even consider this since most C systems include common/mavlink.h which picks up all the other definitions.

This is going to happen but I'm open to suggestions on how we can mitigate the pain to you.

If moving messages causes public ABI breaking changes in the generated code, perhaps we should wait on moving messages until we have a better way to support not breaking users?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants