← Back to issue list

Catkin plugin doesn't build pure python workspaces

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1638317
Type
issue
State
closed
Author
~kyrofa
Labels
—
Created
Updated
Closed

Current evaluation

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.

Resolution: closed resolved

Reason: Maintainer ~kyrofa commented 'Fix: https://github.com/snapcore/snapcraft/pull/881' on 2016-11-01; that PR (canonical/snapcraft#881) was merged as commit 2f0c8ba04, changing the catkin plugin to stage gcc/g++ unconditionally at the start of the build rather than only when roscpp is a dependency.

Evaluated by: mr-cal-bot

No scores available.

Issue body

The catkin plugin currently pulls in g++ only is roscpp is in the dependency list. However, ROS requires gcc and g++ even if the workspace is purely python.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved 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.
stealth/space-bunny-alpha — closed resolved Catkin plugin only staged g++ when roscpp was present, breaking pure-Python ROS workspaces. Fixed by canonical/snapcraft#881 (commit 2f0c8ba04), merged 2016-11-01, staging gcc/g++ unconditionally for Catkin builds.
stealth/space-bunny-alpha — closed resolved Fixed by merged canonical/snapcraft#881 (2f0c8ba04), adding gcc/g++ unconditionally for Catkin builds so Python-only workspaces no longer need roscpp.
qwen/qwen3.6-35b-a3b — — Abandoned due to inactivity. The catkin plugin incorrectly omits gcc and g++ for pure Python ROS workspaces, though both compilers are required. No fix or follow-up was provided.
qwen/qwen3.6-35b-a3b — — Closed without documented resolution or fix, likely abandoned due to zero comments. The reported catkin plugin build dependency issue for pure Python workspaces remains unresolved.

Update history

Date Change
created

Related work

  • Likely Fixed By: canonical/snapcraft#881 (confidence 97%)

    Merged PR titled 'Catkin plugin: Python nodes require gcc/g++ too.', explicitly referencing LP bug #1638317; merged as commit 2f0c8ba04.

  • Related To: canonical/snapcraft#2585 (confidence 40%)

    Later catkin plugin work (#2585, commit b88e37814) changed how workspace dependencies are resolved, but it does not directly address the gcc/g++ staging defect.

Related issues

Issue Project State Summary Similarity
#1658828 Catkin plugin stages compilers snapcraft (launchpad) closed Catkin no longer stages compilers: snapcore/snapcraft#1070 (ea8736af4) moved them to an alternate work area, keeping compiler bloat out of ROS snaps.
80%
#1628990 Catkin plugin: example doesn't build on vanilla install snapcraft (launchpad) closed Fixed by merged PR snapcore/snapcraft#840 (commit 7f9fa3ac1): Catkin builds now use in-snap Python and add gcc, libc-dev and make as build-packages, so the example builds on a vanilla system. Closed by maintainer ~kyrofa.
76%
#1832044 Catkin plugin doesn't check the workspace for dependencies snapcraft (launchpad) closed 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.
76%
#881 Catkin plugin: Python nodes require gcc/g++ too. snapcraft merged Merged as commit 2f0c8ba04: catkin plugin now stages gcc/g++ unconditionally at the start of the build (instead of only when roscpp is a dependency), fixing LP bug #1638317.
75%
#1663385 Catkin plugin: Staging area not suitable for building other parts snapcraft (launchpad) closed Catkin staging output was made reusable by later parts: merged snapcraft#1130 rewrote ROS-specific paths after building, fixing LP #1663385.
75%
#840 Catkin plugin: build with in-snap python. snapcraft merged Merged #840 as 7f9fa3ac1, fixing LP #1628990 by using in-snap Python during Catkin builds and adding gcc, libc-dev, and make as build packages.
74%
#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.
73%
#1070 catkin plugin: don't stage compilers. snapcraft merged Merged PR #1070 as commit ea8736af4, moving required Catkin compilers to an alternate work area so they are available during builds but excluded from final snaps; fixes LP #1658828.
73%
#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.
73%
#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.
72%