mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-07-26 16:28:06 +08:00
fix(zenoh): stop the build writing generated files into the source tree (#27904)
* fix(zenoh): generate the topic catalog into the build tree Kconfig.topics is fully generated from the uORB message set, but the build regenerated it into the source tree at configure time. Building any Zenoh board therefore left the working tree dirty whenever the message set had changed since the file was last committed (the catalog is board-config dependent, so it drifts easily). Generate the catalog into the build directory in cmake/kconfig.cmake, before Kconfig is parsed, and source it from there via ZENOH_KCONFIG_TOPICS. It is generated board-independently from every message so it no longer depends on the msg-gating Kconfig symbols it is sourced alongside; the per-board factory still gates which topics are actually compiled. Drop the committed catalog. * chore(zenoh): bump zenoh-pico to the build-tree header fix Moves zenoh-pico's generated config.h/zenoh-pico.h/library.json out of its own source tree and into the build tree, so building no longer dirties the submodule. Gated on PX4/zenoh-pico#2: the pointer currently references the fix branch on a fork and must be moved to the merged commit before this is ready. * bump zenoh-pico
This commit is contained in:
@@ -260,6 +260,5 @@ The PX4 ROS 2 Interface Library is not compatible with ROS 2 Humble and earlier,
|
||||
ERROR [zenoh] Could not create a subscriber for type ***
|
||||
```
|
||||
|
||||
When it happens, check if `src/modules/zenoh/Kconfig.topics` has unstaged changes.
|
||||
If there are any it means that new uorb topics have been added and the previous build updated the `Kconfig.topics` file accordingly.
|
||||
Please perform a clean build so that the new `Kconfig.topics` can be used.
|
||||
This usually means the firmware was built with a different set of uORB topics than the peer expects.
|
||||
The Zenoh topic catalog (`Kconfig.topics`) is generated automatically at configure time into the build directory, so performing a clean build picks up any newly added or changed topics.
|
||||
|
||||
Reference in New Issue
Block a user