Catkin plugin doesn't check the workspace for dependencies
Metadata
Current evaluation
Catkin plugin failed on whole-workspace builds because rosdep (#685) couldn't resolve deps satisfied by in-workspace packages. Workaround merged in snapcraft PR #2585 (commit b88e37814); the workaround was later dropped in #2833 once rosdep was fixed upstream.
Resolution: closed resolved
Reason: Maintainer kyrofa proposed a snapcraft-side workaround, PR #2585, which was merged as commit b88e37814 "catkin plugin: check workspace for dependencies". The workaround was subsequently removed in #2833 (949f90946) once the upstream rosdep fix (ros-infrastructure/rosdep#686, for issue #685) landed, and the Launchpad bug was closed.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Catkin plugin failed on whole-workspace builds because rosdep (#685) couldn't resolve deps satisfied by in-workspace packages. Workaround merged in snapcraft PR #2585 (commit b88e37814); the workaround was later dropped in #2833 once rosdep was fixed upstream. | |
| stealth/space-bunny-alpha | — | closed resolved | Catkin workspace dependency checking was fixed by merged canonical/snapcraft#2585 (commit b88e37814), which discovers workspace packages with rospack before rosdep resolution. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed in canonical/snapcraft#2585 (commit b88e37814): Catkin now checks whole-workspace builds against packages discovered with rospack. | |
| qwen/qwen3.6-35b-a3b | — | — | The catkin plugin incorrectly errors on workspace-local dependencies due to a rosdep bug. The report was closed without a fix or resolution. | |
| qwen/qwen3.6-35b-a3b | — | — | The catkin plugin workspace dependency bug was abandoned and closed without resolution. No comments or follow-up actions were recorded. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcraft#2585
(confidence 95%)
PR referenced in the maintainer's closing comments; merged as commit b88e37814 adding workspace dependency checking to the catkin plugin.
-
Related To:
snapcraft#2833
(confidence 90%)
Commit 949f90946 removes the rospack/rosdep workspace workaround now that rosdep -i works, confirming the upstream fix resolved the original problem.
-
Caused By:
rosdep#685
(confidence 85%)
Upstream rosdep bug where whole-workspace dependency resolution failed; fixed by rosdep PR #686.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2585 catkin plugin: check workspace for dependencies | snapcraft | merged | Merged PR #2585 (b88e37814) fixed Catkin builds by using rospack to enumerate workspace packages and exclude their internal dependencies from rosdep resolution; resolves LP #1832044. | |
| #1548406 Catkin plugin: Can't handle rosdep resolving to nothing | snapcraft (launchpad) | closed | Fixed by canonical/snapcraft#331, merged as commit 1c1119ce3; Catkin now treats empty rosdep output as no dependencies instead of an error. | |
| #1683036 Catkin plugin doesn't support rosdep dependencies that resolve to pip | snapcraft (launchpad) | closed | Catkin support for rosdep dependencies resolving to pip was merged in snapcraft PR #1581, commit 186ae7f91. | |
| #331 Catkin plugin: Handle rosdep empty and multiple dependencies. | snapcraft | merged | PR #331 merged into snapcraft master as commit 1c1119ce3 (merge e3a2b9d03). It refactored the Catkin plugin's rosdep dependency resolution to handle empty output and multiple packages per line, fixing LP bugs #1548406 and #1548404. | |
| #1548404 Catkin plugin: Can't handle rosdep resolving to multiple packages | snapcraft (launchpad) | closed | Fixed by ubuntu-core/snapcraft PR #331 (commit 1c1119ce3, 'Catkin plugin: Handle rosdep empty and multiple dependencies'), merged as e3a2b9d03; maintainer ~kyrofa linked the PR when closing the Launchpad bug. | |
| #2847 Catkin plugin: consider only 'local' workspaces | snapcraft | merged | Merged PR #2847 (commit 1d476f622) sources ROS setup with --local, preventing destructive-mode Catkin builds from using host workspaces and skipping dependency installation. | |
| #1721168 Catkin plugin: support building the entire workspace | snapcraft (launchpad) | closed | Implemented in snapcraft PR #1743 (commit ec4cac26a, "catkin plugin: support building entire workspace"), merged ~Nov 2017. catkin-packages became optional: omitting it builds the whole workspace, while an empty list still means no packages. | |
| #163 Catkin plugin: use rosdep for dependency resolution | snapcraft | merged | Merged in PR #163 (commit 87b2e24f6), replacing manual Catkin package.xml dependency parsing with rosdep; PR #183 backported the change to Snapcraft 1.x. | |
| #1823788 Catkin plugin doesn't notice ROS dependencies satisfied by stage-snaps | snapcraft (launchpad) | closed | Catkin stage-snap dependency detection was implemented by merged snapcraft PR #2525 (commit d1c5f1b00), avoiding redundant ROS dependency fetches. | |
| #1638317 Catkin plugin doesn't build pure python workspaces | snapcraft (launchpad) | closed | Catkin plugin only staged g++ when roscpp was a dependency, breaking pure-Python ROS workspaces. Fixed by snapcore/snapcraft PR #881 (merged as 2f0c8ba04), staging gcc/g++ unconditionally; issue closed by maintainer ~kyrofa. |