← Back to issue list

catkin plugin _Catkin.find always fails

View original Launchpad issue

Metadata

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

Current evaluation

Fixed by merged PR #1526: commit ae9fd598f updated the Catkin plugin to stop assuming Catkin exists in the underlay.

Resolution: closed resolved

Reason: The PYTHONPATH failure in catkin_find was resolved by PR #1526, merged as commit ae9fd598f (“catkin plugin: don't assume catkin is in underlay”).

Evaluated by: mr-cal-bot

No scores available.

Issue body

I'm experimenting with underlays, but the catkin plugin is pulling the deb for the package despite it being present in the underlay. From stepping through snapcraft with pdb, it appears that the issue is that the script that _Catkin.find runs always fails, which the plugin interprets as the package not found in the underlay. When I changed https://github.com/snapcore/snapcraft/blob/9e8e336deb406cbecdda11e5ca7a25c329454e98/snapcraft/plugins/catkin.py#L911 to: subprocess.check_output(['/bin/bash', f.name, 'catkin_find'] + arguments).decode('utf8').strip() The stderr showed the following: Traceback (most recent call last): File "/home/ruddick/Desktop/ros_underlay/parts/my-msgs/catkin/install/opt/ros/kinetic/bin/catkin_find", line 11, in <module> from catkin.find_in_workspaces import find_in_workspaces ImportError: No module named catkin.find_in_workspaces It looks like /home/ruddick/Desktop/ros_underlay/parts/my-msgs/catkin/install/opt/ros/kinetic/lib/python2.7/dist-packages needs to be added to the PYTHONPATH in the temp script (currently it's only /home/ruddick/Desktop/ros_underlay/parts/my-msgs/catkin/install/usr/lib/python2.7/dist-packages)

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Fixed by merged PR #1526: commit ae9fd598f updated the Catkin plugin to stop assuming Catkin exists in the underlay.
stealth/space-bunny-alpha — closed resolved _Catkin.find always failed because the generated catkin_find script ran against the underlay's catkin instead of Snapcraft's isolated copy. Fixed by merged PR #1526 (commit ae9fd598f), resolving LP #1696014.
stealth/space-bunny-alpha — closed stale Catkin underlay lookup was traced to a missing ROS dist-packages PYTHONPATH entry, but the report was closed as abandoned without an official fix.
qwen/qwen3.6-35b-a3b — — Closed. Abandoned without official resolution. A contributor identified a missing PYTHONPATH entry causing _Catkin.find to fail and proposed a patch to include the correct dist-packages directory.
qwen/qwen3.6-35b-a3b — — Closed without resolution. The report identified a missing PYTHONPATH causing catkin_find import failures in the snapcraft catkin plugin. With zero comments and no follow-up, the issue was abandoned due to inactivity.

Update history

Date Change
created

Related work

  • Likely Fixed By: snapcraft#1526 (confidence 99%)

    The proposed fix was merged as commit ae9fd598f.

Related issues

Issue Project State Summary Similarity
#1354 catkin plugin: fix pythonpath for catkin_find snapcraft closed Closed unmerged after inactivity; its linked catkin-underlay failure was later fixed by merged PR #1526 in commit ae9fd598f.
81%
#1526 catkin plugin: don't assume catkin is in underlay snapcraft merged Merged #1526 in commit ae9fd598f, making the Catkin plugin use its isolated Catkin installation instead of requiring Catkin in the underlay; fixes LP #1696014.
80%