Ros1-noetic extension missing dependencies

I tried to use the ros1-noetic extension with a minimal example. But I end up missing some very basic tools like make and roslaunch.

For make, this can easily be resolved by adding build-essential to the build-packages. But I’m wondering if this should not already be contained in the extension.

Second thing, I realized that roslaunch and many other ROS tools are missing in /opt/ros/noetic/bin.

This is the minimal example:

name: test 
base: core20 
version: '0.1'
summary: Single-line elevator pitch for your amazing snap # 79 char long summary
description: |
  This is my-snap's description. You have a paragraph or two to tell the
  most important story about your snap. Keep it under 100 words though,
  we live in tweetspace and your description wants to look good in the snap
  store.

grade: devel 
confinement: strict

parts:

  workspace:
    plugin: catkin-tools

apps:
  catkin-ros-run:
    command: opt/ros/noetic/bin/roslaunch anything anything.launch
    extensions: [ros1-noetic]

Snaps bundle their dependencies, but we try to make sure it doesn’t bundle things that are unnecessary. roslaunch is not necessarily required by all ROS packages or snaps. If something in your package ships a launch file, it should have a run_depend on roslaunch, which will cause it to be included in the snap. Or you can specify stage-packages: [ros-noetic-roslaunch] to explicitly include it.

Regarding make, I’m afraid I’ve lost track of when it is and isn’t required. For example, I don’t believe it’s required when building colcon packages that are python-only. I don’t remember about catkin in noetic though, you may be right on that one.

Thanks for the response. I never needed to add the roslaunch dependency so far since we always to the ROS full desktop install. But totally makes sense and works for the snap.