Issues with Map Demo and stretch_install

Hey there! We’re having some issues getting Demo #1: Mapping and Navigation working properly. Upon running ros2 launch stretch_nav2 offline_mapping.launch.py the RViz window appears, however the map frame doesn’t exist and there are no messages being sent on any of the /map topics. Here is a picture of the RViz window after running the launch file.

We think this could be fixed by running stretch_install, however that fails on line 69
rosdep install --rosdistro=humble -iy --skip-keys="librealsense2 realsense2_camera" --from-paths src &>> $REDIRECT_LOGFILE in stretch_install/factory/22.04/stretch_create_ament_workspace.sh. In the log files it appears to look for the 2024 version of the dependencies instead of 2025. We could manually install the 2025 versions of the dependencies, however we wanted to double check this is the right course of action before-hand. Thanks!

Hi @cscott, thank you for the detailed breakdown. Would you copy in or link to the log files? Specifically, the one that matches the stretch_create_ament_workspace script would be helpful.

Once we get the workspace set up again, we can look into the issue with Demo 1.

Hi @bshah, thanks for the response!

Here is the text from the log file.

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: numpy==1.26.4 in /home/hello-robot/.local/lib/python3.10/site-packages (1.26.4)
WARNING: Error parsing dependencies of flatbuffers: Invalid version: '1.12.1-git20200711.33e2d80-dfsg1-0.6'

[notice] A new release of pip is available: 24.3.1 -> 25.1.1
[notice] To update, run: python3 -m pip install --upgrade pip
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Add distro "ardent"
Add distro "bouncy"
Add distro "crystal"
Add distro "dashing"
Add distro "eloquent"
Add distro "foxy"
Add distro "galactic"
Add distro "groovy"
Add distro "humble"
Add distro "hydro"
Add distro "indigo"
Add distro "iron"
Add distro "jade"
Add distro "jazzy"
Add distro "kilted"
Add distro "kinetic"
Add distro "lunar"
Add distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /home/hello-robot/.ros/rosdep/sources.cache
..........
=== ./audio_common (git) ===
Cloning into '.'...
=== ./realsense-ros (git) ===
Cloning into '.'...
Note: switching to '4.55.1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 8a86cb88 4.55.1
=== ./respeaker_ros2 (git) ===
Cloning into '.'...
=== ./ros2_numpy (git) ===
Cloning into '.'...
=== ./rosbridge_suite (git) ===
Cloning into '.'...
=== ./sllidar_ros2 (git) ===
Cloning into '.'...
Note: switching to '34300099fadfc772965962dec837bf436706188f'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 3430009 bugfix:set the minimum distance to 5cm
=== ./stretch_ros2 (git) ===
Cloning into '.'...
=== ./stretch_tutorials (git) ===
Cloning into '.'...
=== ./stretch_web_teleop (git) ===
Cloning into '.'...
=== ./tf2_web_republisher_py (git) ===
Cloning into '.'...
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  ros-humble-librealsense2 ros-humble-realsense2-camera
  ros-humble-realsense2-camera-msgs ros-humble-rtabmap-examples
The following NEW packages will be installed:
  ros-humble-librealsense2 ros-humble-realsense2-camera
  ros-humble-realsense2-camera-msgs ros-humble-rtabmap-examples
  ros-humble-rtabmap-ros
0 upgraded, 5 newly installed, 0 to remove and 61 not upgraded.
Need to get 3,428 kB of archives.
After this operation, 15.4 MB of additional disk space will be used.
Err:1 http://packages.ros.org/ros2/ubuntu jammy/main amd64 ros-humble-librealsense2 amd64 2.55.1-1jammy.20241125.233100
  404  Not Found [IP: 64.50.236.52 80]
Err:2 http://packages.ros.org/ros2/ubuntu jammy/main amd64 ros-humble-realsense2-camera-msgs amd64 4.55.1-1jammy.20241128.011951
  404  Not Found [IP: 64.50.236.52 80]
Err:3 http://packages.ros.org/ros2/ubuntu jammy/main amd64 ros-humble-realsense2-camera amd64 4.55.1-1jammy.20241128.030800
  404  Not Found [IP: 64.50.236.52 80]
Err:4 http://packages.ros.org/ros2/ubuntu jammy/main amd64 ros-humble-rtabmap-examples amd64 0.21.5-1jammy.20241128.061307
  404  Not Found [IP: 64.50.236.52 80]
Err:5 http://packages.ros.org/ros2/ubuntu jammy/main amd64 ros-humble-rtabmap-ros amd64 0.21.5-1jammy.20241128.064101
  404  Not Found [IP: 64.50.236.52 80]
E: Failed to fetch http://packages.ros.org/ros2/ubuntu/pool/main/r/ros-humble-librealsense2/ros-humble-librealsense2_2.55.1-1jammy.20241125.233100_amd64.deb  404  Not Found [IP: 64.50.236.52 80]
E: Failed to fetch http://packages.ros.org/ros2/ubuntu/pool/main/r/ros-humble-realsense2-camera-msgs/ros-humble-realsense2-camera-msgs_4.55.1-1jammy.20241128.011951_amd64.deb  404  Not Found [IP: 64.50.236.52 80]
E: Failed to fetch http://packages.ros.org/ros2/ubuntu/pool/main/r/ros-humble-realsense2-camera/ros-humble-realsense2-camera_4.55.1-1jammy.20241128.030800_amd64.deb  404  Not Found [IP: 64.50.236.52 80]
E: Failed to fetch http://packages.ros.org/ros2/ubuntu/pool/main/r/ros-humble-rtabmap-examples/ros-humble-rtabmap-examples_0.21.5-1jammy.20241128.061307_amd64.deb  404  Not Found [IP: 64.50.236.52 80]
E: Failed to fetch http://packages.ros.org/ros2/ubuntu/pool/main/r/ros-humble-rtabmap-ros/ros-humble-rtabmap-ros_0.21.5-1jammy.20241128.064101_amd64.deb  404  Not Found [IP: 64.50.236.52 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
ERROR: the following rosdeps failed to install
  apt: command [sudo -H apt-get install -y ros-humble-rtabmap-ros] failed
e[1mexecuting command [sudo -H apt-get install -y ros-humble-rtabmap-ros]e[0m

We figured that updating the packages that couldn’t be found to the newest versions listed on OSL would fix the issue, but aren’t sure if those are the right ones.

Yes, I think that would help, but you don’t have to do it manually. The above error makes it seem like sudo apt update would update Apt’s cache. I believe you’d then be able to use the workspace creation script without issue. If this proves true, I can add sudo apt update to the script. If not, I found a stack overflow issue that suggests sudo rm /var/lib/apt/lists/* to delete the cache, followed by sudo apt update to grab a new cache.

Hi, @bshah I am working with @cscott. I was able to get us past the apt update issue (below) and create the workspace, but building is a problem due to the setuptools version. I can’t attach files here (I get an error new users can’t attach files) which makes formatting of the debugging steps messy. Everywhere I refer to an colcon_build_output*.txt, I will format as its own message later. I also get a notification that new users can only link 2 links in a post, so for links I add a space between http or https and : to break them, as the links are automatically generated by the post formatter. It may be helpful for your forum to increase that limit, especially as many error messages include links. I had to combine colcon_build_output1 and 2 into the same reply as “An error occurred: We’re sorry, but new users are temporarily limited to 3 replies in the same topic.”

Thank you,
Taylor

hello-robot@stretch-se3-3096:~$ sudo apt update
[sudo] password for hello-robot: 
Hit:1 http ://us.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http ://us.archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]     
Hit:3 https ://cli.github.com/packages stable InRelease                         
Hit:4 https ://deb.nodesource.com/node_21.x nodistro InRelease                  
Get:5 http ://us.archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]   
Get:6 http ://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]      
Get:7 http ://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [2,761 kB]
Get:8 http ://packages.ros.org/ros2/ubuntu jammy InRelease [4,682 B]            
Err:8 http ://packages.ros.org/ros2/ubuntu jammy InRelease                      
  The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation .org
Hit:9 https ://librealsense.intel.com/Debian/apt-repo jammy InRelease           
Get:10 http ://us.archive.ubuntu.com/ubuntu jammy-updates/main i386 Packages [846 kB]
Get:11 http ://us.archive.ubuntu.com/ubuntu jammy-updates/main Translation-en [438 kB]
Get:12 http ://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 DEP-11 Metadata [114 kB]
Get:13 http ://us.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [4,051 kB]
Get:14 http ://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [2,512 kB]
Get:15 http ://us.archive.ubuntu.com/ubuntu jammy-updates/restricted Translation-en [732 kB]
Get:16 http ://us.archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 DEP-11 Metadata [212 B]
Get:17 http ://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 DEP-11 Metadata [359 kB]
Get:18 http ://us.archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 DEP-11 Metadata [940 B]
Get:19 http ://us.archive.ubuntu.com/ubuntu jammy-backports/main amd64 DEP-11 Metadata [7,068 B]
Get:20 http ://us.archive.ubuntu.com/ubuntu jammy-backports/restricted amd64 DEP-11 Metadata [212 B]
Get:21 http ://us.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 DEP-11 Metadata [14.0 kB]
Get:22 http ://us.archive.ubuntu.com/ubuntu jammy-backports/multiverse amd64 DEP-11 Metadata [212 B]
Get:23 http ://security.ubuntu.com/ubuntu jammy-security/main i386 Packages [674 kB]
Get:24 http ://security.ubuntu.com/ubuntu jammy-security/main Translation-en [374 kB]
Get:25 http ://security.ubuntu.com/ubuntu jammy-security/main amd64 DEP-11 Metadata [54.6 kB]
Get:26 http ://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [3,886 kB]
Get:27 http ://security.ubuntu.com/ubuntu jammy-security/restricted Translation-en [702 kB]
Get:28 http ://security.ubuntu.com/ubuntu jammy-security/restricted amd64 DEP-11 Metadata [208 B]
Get:29 http ://security.ubuntu.com/ubuntu jammy-security/universe i386 Packages [669 kB]
Get:30 http ://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [991 kB]
Get:31 http ://security.ubuntu.com/ubuntu jammy-security/universe amd64 DEP-11 Metadata [125 kB]
Get:32 http ://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 DEP-11 Metadata [208 B]
Reading package lists... Done                    
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'https ://deb.nodesource.com/node_21.x nodistro InRelease' doesn't support architecture 'i386'
W: GPG error: http ://packages.ros.org/ros2/ubuntu jammy InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation .org
E: The repository 'http ://packages.ros.org/ros2/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
hello-robot@stretch-se3-3096:~$ sudo apt-key adv --keyserver keyserver .ubuntu.com --recv-keys F42ED6FBAB17C654
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.z9Jw3p2ZA2/gpg.1.sh --keyserver keyserver .ubuntu.com --recv-keys F42ED6FBAB17C654
gpg: key F42ED6FBAB17C654: public key "Open Robotics info@osrfoundation .org" imported
gpg: Total number processed: 1
gpg:               imported: 1
hello-robot@stretch-se3-3096:~$ sudo apt update
Hit:1 http ://us.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http ://us.archive.ubuntu.com/ubuntu jammy-updates InRelease                                                                                                                                          
Hit:3 https ://cli.github.com/packages stable InRelease                                                                                                                                                     
Hit:4 http ://us.archive.ubuntu.com/ubuntu jammy-backports InRelease                                                                                                             
Get:5 http ://packages.ros.org/ros2/ubuntu jammy InRelease [4,682 B]                                                                            
Hit:6 https ://deb.nodesource.com/node_21.x nodistro InRelease                                                            
Hit:7 https ://librealsense.intel.com/Debian/apt-repo jammy InRelease
Hit:8 http ://security.ubuntu.com/ubuntu jammy-security InRelease
Err:5 http ://packages.ros.org/ros2/ubuntu jammy InRelease
  The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation .org
Reading package lists... Done
W: GPG error: http ://packages.ros.org/ros2/ubuntu jammy InRelease: The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation .org
E: The repository 'http ://packages.ros.org/ros2/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'https ://deb.nodesource.com/node_21.x nodistro InRelease' doesn't support architecture 'i386'
hello-robot@stretch-se3-3096:~$ sudo curl -sSL https ://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
hello-robot@stretch-se3-3096:~$ sudo apt update
Get:1 http ://packages.ros.org/ros2/ubuntu jammy InRelease [4,682 B]
Hit:2 https ://cli.github.com/packages stable InRelease                                                                                
Hit:3 http ://us.archive.ubuntu.com/ubuntu jammy InRelease                                               
Hit:4 http ://us.archive.ubuntu.com/ubuntu jammy-updates InRelease                                       
Hit:5 https ://deb.nodesource.com/node_21.x nodistro InRelease                                           
Get:6 http ://packages.ros.org/ros2/ubuntu jammy/main amd64 Packages [1,674 kB]                          
Hit:7 http ://us.archive.ubuntu.com/ubuntu jammy-backports InRelease                                                
Hit:8 http ://security.ubuntu.com/ubuntu jammy-security InRelease                                                   
Hit:9 https ://librealsense.intel.com/Debian/apt-repo jammy InRelease                         
Fetched 1,679 kB in 1s (2,686 kB/s)                      
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
408 packages can be upgraded. Run 'apt list --upgradable' to see them.
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'https ://deb.nodesource.com/node_21.x nodistro InRelease' doesn't support architecture 'i386'

Since this is still an issue, I cd into /etc/apt/sources.list.d. There I do

hello-robot@stretch-se3-3096:/etc/apt/sources.list.d$ ls
github-cli.list  librealsense.list  nodesource.list  ros2.list

Since the deb with an issue is nodesource, I know to look into nodesource.list. So, when I vi nodesource.list I see deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https ://deb.nodesource.com/node_21.x nodistro main. deb allows an arch specification, so to find what I should specify I do:

hello-robot@stretch-se3-3096:/etc/apt/sources.list.d$ dpkg --print-foreign-architectures
i386
hello-robot@stretch-se3-3096:/etc/apt/sources.list.d$ dpkg --print-architecture 
amd64

This confirms to me the issue is deb is getting the i386 version and we need the amd64 version. So I add “arch=amd64” to the deb specifications, so nodesource.list now has deb [signed-by=/etc/apt/keyrings/nodesource.gpg, arch=amd64] https ://deb.nodesource.com/node_21.x nodistro main. note: there is a space there that I needed to added to let me post due to the link limit, there should not be a space between the https and : above Now the update is successful!

hello-robot@stretch-se3-3096:/etc/apt/sources.list.d$ sudo apt update
Hit:1 http ://packages.ros.org/ros2/ubuntu jammy InRelease
Hit:2 https ://cli.github.com/packages stable InRelease                                                                                  
Hit:3 http ://security.ubuntu.com/ubuntu jammy-security InRelease                                                                                      
Hit:4 http ://us.archive.ubuntu.com/ubuntu jammy InRelease                                                                                             
Hit:5 http ://us.archive.ubuntu.com/ubuntu jammy-updates InRelease                                                               
Hit:6 http ://us.archive.ubuntu.com/ubuntu jammy-backports InRelease                  
Hit:7 https ://deb.nodesource.com/node_21.x nodistro InRelease                        
Hit:8 https ://librealsense.intel.com/Debian/apt-repo jammy InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
408 packages can be upgraded. Run 'apt list --upgradable' to see them.
hello-robot@stretch-se3-3096:~/stretch_install$ ./stretch_update_ros_workspace.sh 
###########################################
CREATING HUMBLE AMENT WORKSPACE at /home/hello-robot/ament_ws
###########################################
Ensuring correct version of ROS is sourced...
You are about to delete and replace the existing ament workspace. If you have any personal data in the workspace, please create a back up before proceeding.
Do you want to continue? Press (y/n for yes/no): y
Continuing to create a new ament workspace.
Downgrade to numpy 1.26.4...
Updating rosdep indices...
Deleting /home/hello-robot/ament_ws if it already exists...
Creating the workspace directory...
Cloning the workspace's packages...
Fetch ROS packages' dependencies (this might take a while)...
Install web interface dependencies...
Generating web interface certs...
Install FUNMAP dependencies...
Compile cython modules...
Compile the workspace (this might take a while)...
Source setup.bash file...
Updating port privledges...
Update ~/.bashrc dotfile to source workspace...
Updating meshes and xacros to ROS from stretch_urdf package.
Setup uncalibrated robot URDF...
Setup calibrated robot URDF...
Amend FUNMAP executables to use venv...
Downgrade to numpy 1.26.4...

#############################################
DONE! ROS WORKSPACE SET UP SUCCESSFULLY.
#############################################

Unfortunately this doesn’t help a ton because when I run colcon build in ament_ws we get the attached errors in colcon_build_output.txt. They’re all seemingly the same:
CERROR: setuptools==59.6.0 is used in combination with setuptools-scm>=8.x
Your build configuration is incomplete and previously worked by accident!
setuptools-scm requires setuptools>=61
This is a git issue: https ://github.com/pypa/setuptools-scm/issues/1112. One of the solutions is upgrading pip since our setuptools versions should work together. Our pip was a bit old, so I upgraded it to 25.0.1 based on this commit https ://github.com/mozilla/translations/commit/ab61ad90e0b3511ca1417cf448dc6e3faf80c732. note: I needed to add spaces in the above links to let me post due to the link limit, there should not be a space between the https and : above

hello-robot@stretch-se3-3096:~/ament_ws$ pip3 list | grep setuptools
setuptools                             59.6.0
setuptools-scm                         8.3.1

hello-robot@stretch-se3-3096:~/ament_ws$ python3 -m pip --version
pip 24.3.1 from /home/hello-robot/.local/lib/python3.10/site-packages/pip (python 3.10)
hello-robot@stretch-se3-3096:~/ament_ws$ pip3 install -U pip==25.0.1
Defaulting to user installation because normal site-packages is not writeable
Collecting pip==25.0.1
  Downloading pip-25.0.1-py3-none-any.whl.metadata (3.7 kB)
Downloading pip-25.0.1-py3-none-any.whl (1.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 11.6 MB/s eta 0:00:00
WARNING: Error parsing dependencies of flatbuffers: Invalid version: '1.12.1-git20200711.33e2d80-dfsg1-0.6'
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 24.3.1
    Uninstalling pip-24.3.1:
      Successfully uninstalled pip-24.3.1
Successfully installed pip-25.0.1

Still has the same issue, so I update pip to 25.1.1 which is the newest version and update setuptools to the newest version. setuptools-scm is already up to date.

hello-robot@stretch-se3-3096:~/ament_ws$ pip install setuptools==80.9.0
Defaulting to user installation because normal site-packages is not writeable
Collecting setuptools==80.9.0
  Downloading setuptools-80.9.0-py3-none-any.whl.metadata (6.6 kB)
Downloading setuptools-80.9.0-py3-none-any.whl (1.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 5.0 MB/s eta 0:00:00
WARNING: Error parsing dependencies of flatbuffers: Invalid version: '1.12.1-git20200711.33e2d80-dfsg1-0.6'
Installing collected packages: setuptools
Successfully installed setuptools-80.9.0

[notice] A new release of pip is available: 25.0.1 -> 25.1.1
[notice] To update, run: python3 -m pip install --upgrade pip
hello-robot@stretch-se3-3096:~/ament_ws$ python3 -m pip install --upgrade pip
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pip in /home/hello-robot/.local/lib/python3.10/site-packages (25.0.1)
Collecting pip
  Downloading pip-25.1.1-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-25.1.1-py3-none-any.whl (1.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 9.5 MB/s eta 0:00:00
WARNING: Error parsing dependencies of flatbuffers: Invalid version: '1.12.1-git20200711.33e2d80-dfsg1-0.6'
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 25.0.1
    Uninstalling pip-25.0.1:
      Successfully uninstalled pip-25.0.1
Successfully installed pip-25.1.1

Now when I run colcon build I get the errors in colcon_build_output2.txt. I update setup tools to the minimum version needed for setuptools-scm, 61.0.0

hello-robot@stretch-se3-3096:~/ament_ws$ pip install setuptools==61.0.0

Unfortunately we get more errors, in colcon_build_output3.txt. For stretch_funmap ast.literal_eval error due to the python version and the code (colcon_ros/package_augmentation/ros_ament_python.py) being out of sync. I look and some people have had similar issues as I have with everything above (FUNMAP colcon build error · Issue #203 · hello-robot/stretch_ros2 · GitHub). I downgraded pip back to 24.3.1 since the upgrade previously wasn’t necessary. I then removed requires-python = “>=3.10” from src/stretch_ros2/stretch_funmap/pyproject.toml per issue 203 above, which fixed stretch_funmap but everything else still shows a git issue. See colcon_build_output3.txt for the full log, but a snippet is below.

Finished <<< rosbridge_msgs [5.38s]
--- stderr: audio_common_msgs
[07/21/25 10:55:46] ERROR    listing git files failed - pretending     git.py:26
                             there aren't any                                   
---
Finished <<< audio_common_msgs [5.43s]
--- stderr: speech_recognition_msgs                                                                                                                                                                      
[07/21/25 10:55:47] ERROR    listing git files failed - pretending     git.py:26
                             there aren't any

This issue is most likely related to setuptools (https://robotics.stackexchange.com/questions/104326/colcon-build-on-ros2-humble-outputs-listing-git-files-failed-pretending-there).

colcon_build_output1.txt

hello-robot@stretch-se3-3096:~/ament_ws$ colcon build
Starting >>> audio_common_msgs
Starting >>> realsense2_camera_msgs
Starting >>> rosbridge_test_msgs
Starting >>> rosapi_msgs
Starting >>> hello_helpers
Starting >>> rosbridge_msgs
Starting >>> ros2_numpy
Starting >>> speech_recognition_msgs
Starting >>> sllidar_ros2
Starting >>> stretch_deep_perception
Starting >>> stretch_demos
Starting >>> stretch_funmap
Starting >>> stretch_nav2
Starting >>> stretch_ros_tutorials
Starting >>> stretch_rtabmap
Starting >>> tf2_web_republisher
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools_scm/_integration/setuptools.py:31: RuntimeWarning: e_test_msgs:cmake - 0.4s] [rosapi_msgs:cmake - 0.4s] [hello_helpers - 0.4s] …
ERROR: setuptools==59.6.0 is used in combination with setuptools-scm>=8.x

Your build configuration is incomplete and previously worked by accident!
setuptools-scm requires setuptools>=61

Suggested workaround if applicable:

  • migrating from the deprecated setup_requires mechanism to pep517/518
    and using a pyproject.toml to declare build dependencies
    which are reliably pre-installed before running the build tools

warnings.warn(
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools_scm/_integration/setuptools.py:31: RuntimeWarning: e_test_msgs:cmake - 1.0s] [rosapi_msgs:cmake - 1.0s] [hello_helpers - 1.0s] …
ERROR: setuptools==59.6.0 is used in combination with setuptools-scm>=8.x

Your build configuration is incomplete and previously worked by accident!
setuptools-scm requires setuptools>=61

Suggested workaround if applicable:

  • migrating from the deprecated setup_requires mechanism to pep517/518
    and using a pyproject.toml to declare build dependencies
    which are reliably pre-installed before running the build tools

warnings.warn(
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools_scm/_integration/setuptools.py:31: RuntimeWarning: e_test_msgs:cmake - 1.6s] [rosapi_msgs:cmake - 1.6s] [hello_helpers - 1.6s] …
ERROR: setuptools==59.6.0 is used in combination with setuptools-scm>=8.x

Your build configuration is incomplete and previously worked by accident!
setuptools-scm requires setuptools>=61

Suggested workaround if applicable:

  • migrating from the deprecated setup_requires mechanism to pep517/518
    and using a pyproject.toml to declare build dependencies
    which are reliably pre-installed before running the build tools

warnings.warn(
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools_scm/_integration/setuptools.py:31: RuntimeWarning: e_test_msgs:cmake - 2.0s] [rosapi_msgs:cmake - 2.0s] [hello_helpers - 2.0s] …
ERROR: setuptools==59.6.0 is used in combination with setuptools-scm>=8.x

Your build configuration is incomplete and previously worked by accident!
setuptools-scm requires setuptools>=61

Suggested workaround if applicable:

  • migrating from the deprecated setup_requires mechanism to pep517/518
    and using a pyproject.toml to declare build dependencies
    which are reliably pre-installed before running the build tools

/home/hello-robot/.local/lib/python3.10/site-packages/setuptools_scm/_integration/setuptools.py:31: RuntimeWarning:
ERROR: setuptools==59.6.0 is used in combination with setuptools-scm>=8.x

Your build configuration is incomplete and previously worked by accident!
setuptools-scm requires setuptools>=61

Suggested workaround if applicable:

  • migrating from the deprecated setup_requires mechanism to pep517/518
    and using a pyproject.toml to declare build dependencies
    which are reliably pre-installed before running the build tools

warnings.warn(
/usr/lib/python3/dist-packages/pkg_resources/init.py:116: PkgResourcesDeprecationWarning: 1.12.1-git20200711.33e2d80-dfsg1-0.6 is an invalid version and will not be supported in a future release
warnings.warn(
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools_scm/_integration/setuptools.py:31: RuntimeWarning:
ERROR: setuptools==59.6.0 is used in combination with setuptools-scm>=8.x

Your build configuration is incomplete and previously worked by accident!
setuptools-scm requires setuptools>=61

Suggested workaround if applicable:

  • migrating from the deprecated setup_requires mechanism to pep517/518
    and using a pyproject.toml to declare build dependencies
    which are reliably pre-installed before running the build tools

warnings.warn(


Finished <<< stretch_calibration [3.04s]

Summary: 34 packages finished [29.6s]
25 packages had stderr output: audio_common_msgs hello_helpers realsense2_camera_msgs respeaker_ros2 ros2_numpy rosapi rosapi_msgs rosbridge_library rosbridge_msgs rosbridge_server rosbridge_test_msgs sound_play sound_play_msgs speech_recognition_msgs stretch_calibration stretch_core stretch_deep_perception stretch_demos stretch_funmap stretch_nav2 stretch_ros_tutorials stretch_simulation stretch_web_teleop tf2_web_republisher tf2_web_republisher_py

colcon_build_output2.txt

hello-robot@stretch-se3-3096:~/ament_ws$ colcon build
Starting >>> audio_common_msgs
Starting >>> realsense2_camera_msgs
Starting >>> rosbridge_test_msgs
Starting >>> rosapi_msgs
Starting >>> hello_helpers
Starting >>> rosbridge_msgs
Starting >>> ros2_numpy
Starting >>> speech_recognition_msgs
Starting >>> sllidar_ros2
Starting >>> stretch_deep_perception
Starting >>> stretch_demos
Starting >>> stretch_funmap
Starting >>> stretch_nav2
Starting >>> stretch_ros_tutorials
Starting >>> stretch_rtabmap
Starting >>> tf2_web_republisher
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'tests_require’api_msgs:build - 0.3s] [hello_helpers - 0.3s] …
warnings.warn(msg)
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'tests_require’api_msgs:build - 0.9s] [hello_helpers - 0.9s] …
warnings.warn(msg)
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'tests_require’api_msgs:build - 1.2s] [hello_helpers - 1.2s] …
warnings.warn(msg)
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'tests_require’api_msgs:build - 1.4s] [hello_helpers - 1.4s] …
warnings.warn(msg)
Could not find an up-to-date installation of packaging. License expressions might not be validated. To enforce validation, please install packaging>=24.2.ld - 1.5s] [hello_helpers - 1.5s] …
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: license defined outside of pyproject.toml is ignored.
!!

    ********************************************************************************
    The following seems to be defined outside of `pyproject.toml`:

    `license = 'Apache License 2.0'`

    According to the spec (see the link below), however, setuptools CANNOT
    consider this value unless `license` is listed as `dynamic`.

    https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

    To prevent this problem, you can list `license` under `dynamic` or alternatively
    remove the `[project]` table from your file and rely entirely on other means of
    configuration.
    ********************************************************************************

!!
_handle_missing_dynamic(dist, project_table)
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: authors defined outside of pyproject.toml is ignored.
!!

    ********************************************************************************
    The following seems to be defined outside of `pyproject.toml`:

    `authors = 'Hello Robot Inc.'`

    According to the spec (see the link below), however, setuptools CANNOT
    consider this value unless `authors` is listed as `dynamic`.

    https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

    To prevent this problem, you can list `authors` under `dynamic` or alternatively
    remove the `[project]` table from your file and rely entirely on other means of
    configuration.
    ********************************************************************************

!!
_handle_missing_dynamic(dist, project_table)
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: scripts defined outside of pyproject.toml is ignored.
!!

    ********************************************************************************
    The following seems to be defined outside of `pyproject.toml`:

    `scripts = ['funmap = stretch_funmap.funmap:main']`

    According to the spec (see the link below), however, setuptools CANNOT
    consider this value unless `scripts` is listed as `dynamic`.

    https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

    To prevent this problem, you can list `scripts` under `dynamic` or alternatively
    remove the `[project]` table from your file and rely entirely on other means of
    configuration.
    ********************************************************************************

!!
_handle_missing_dynamic(dist, project_table)
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsWarning: install_requires overwritten in pyproject.toml (dependencies)
corresp(dist, value, root_dir)
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsWarning: license overwritten by pyproject.toml
corresp(dist, value, root_dir)
— stderr: stretch_funmap
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/colcon_core/executor/init.py”, line 91, in call
rc = await self.task(*args, **kwargs)
File “/usr/lib/python3/dist-packages/colcon_core/task/init.py”, line 93, in call
return await task_method(*args, **kwargs)
File “/usr/lib/python3/dist-packages/colcon_ros/task/ament_python/build.py”, line 51, in build
setup_py_data = get_setup_data(self.context.pkg, env)
File “/usr/lib/python3/dist-packages/colcon_core/task/python/init.py”, line 20, in get_setup_data
return dict(pkg.metadatakey)
File “/usr/lib/python3/dist-packages/colcon_ros/package_augmentation/ros_ament_python.py”, line 57, in getter
return get_setup_information(
File “/usr/lib/python3/dist-packages/colcon_python_setup_py/package_identification/python_setup_py.py”, line 249, in get_setup_information
_setup_information_cache[hashable_env] = _get_setup_information(
File “/usr/lib/python3/dist-packages/colcon_python_setup_py/package_identification/python_setup_py.py”, line 301, in _get_setup_information
return ast.literal_eval(output)
File “/usr/lib/python3.10/ast.py”, line 64, in literal_eval
node_or_string = parse(node_or_string.lstrip(" \t"), mode=‘eval’)
File “/usr/lib/python3.10/ast.py”, line 50, in parse
return compile(source, filename, mode, flags,
File “”, line 1
{‘package_data’: {}, ‘dist_files’: , ‘include_package_data’: True, ‘exclude_package_data’: None, ‘src_root’: None, ‘dependency_links’: , ‘setup_requires’: , ‘message_extractors’: None, ‘eager_resources’: None, ‘entry_points’: {}, ‘extras_require’: {}, ‘install_requires’: [‘cma>=4.0.0’, ‘cython>=3.0.11’, ‘matplotlib>=3.10.0’, ‘numba>=0.60.0’, ‘numpy==1.23.2’, ‘opencv-python>=4.7.0.72’, ‘pyquaternion>=0.9.9’, ‘pyyaml>=6.0.2’, ‘scikit-image>=0.24.0’, ‘scipy>=1.13.1’, ‘transforms3d>=0.4.2’], ‘namespace_packages’: None, ‘packages’: [‘stretch_funmap’], ‘python_requires’: <SpecifierSet(‘>=3.10’)>, ‘use_2to3’: None, ‘zip_safe’: None, ‘cffi_modules’: None, ‘use_scm_version’: None, ‘use_incremental’: None, ‘verbose’: True, ‘dry_run’: False, ‘help’: False, ‘command_packages’: None, ‘script_name’: ‘setup.py’, ‘script_args’: [‘–dry-run’], ‘command_options’: {‘develop’: {‘script_dir’: (‘setup.cfg’, ‘$base/lib/stretch_funmap’)}, ‘install’: {‘install_scripts’: (‘setup.cfg’, ‘$base/lib/stretch_funmap’)}}

‘python_requires’: <SpecifierSet(‘>=3.10’)>}}
^
SyntaxError: invalid syntax


Failed <<< stretch_funmap [1.78s, exited with code 1]
/home/hello-robot/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: ‘tests_require’ 1.9s] [rosapi_msgs:build - 1.9s] …
warnings.warn(msg)
Aborted <<< hello_helpers [2.07s]
Aborted <<< stretch_deep_perception [2.06s]
Aborted <<< stretch_demos [2.05s]
Aborted <<< stretch_ros_tutorials [2.04s]
Aborted <<< tf2_web_republisher [2.03s]
Aborted <<< stretch_rtabmap [2.04s]
Aborted <<< stretch_nav2 [2.04s]
Aborted <<< realsense2_camera_msgs [2.08s]
Aborted <<< sllidar_ros2 [2.06s]
Aborted <<< rosbridge_test_msgs [2.08s]
Aborted <<< audio_common_msgs [2.09s]
Aborted <<< rosapi_msgs [2.08s]
Aborted <<< speech_recognition_msgs [2.06s]
Aborted <<< ros2_numpy [2.07s]
Aborted <<< rosbridge_msgs [2.07s]

Summary: 0 packages finished [2.27s]
1 package failed: stretch_funmap
15 packages aborted: audio_common_msgs hello_helpers realsense2_camera_msgs ros2_numpy rosapi_msgs rosbridge_msgs rosbridge_test_msgs sllidar_ros2 speech_recognition_msgs stretch_deep_perception stretch_demos stretch_nav2 stretch_ros_tutorials stretch_rtabmap tf2_web_republisher
8 packages had stderr output: audio_common_msgs realsense2_camera_msgs ros2_numpy rosapi_msgs rosbridge_msgs rosbridge_test_msgs speech_recognition_msgs stretch_funmap
18 packages not processed
invalid syntax (, line 1)

colcon_build_output3.txt

hello-robot@stretch-se3-3096:~/ament_ws$ colcon build
Starting >>> audio_common_msgs
Starting >>> realsense2_camera_msgs
Starting >>> rosbridge_test_msgs
Starting >>> rosapi_msgs
Starting >>> hello_helpers
Starting >>> rosbridge_msgs
Starting >>> ros2_numpy
Starting >>> speech_recognition_msgs
Starting >>> sllidar_ros2
Starting >>> stretch_deep_perception
Starting >>> stretch_demos
Starting >>> stretch_nav2
Starting >>> stretch_ros_tutorials
Starting >>> stretch_rtabmap
Starting >>> tf2_web_republisher
Starting >>> tf2_web_republisher_py
Finished <<< sllidar_ros2 [5.32s]
Finished <<< stretch_rtabmap [5.30s]


stderr: ros2_numpy
[07/21/25 10:55:46] ERROR listing git files failed - pretending there aren’t any git.py:26


Finished <<< ros2_numpy [5.32s]


stderr: stretch_nav2
[07/21/25 10:55:48] ERROR listing git files failed - pretending there aren’t any git.py:26


Finished <<< stretch_nav2 [5.31s]


stderr: realsense2_camera_msgs
[07/21/25 10:55:46] ERROR listing git files failed - pretending git.py:26
there aren’t any


Finished <<< realsense2_camera_msgs [5.37s]


stderr: rosbridge_msgs
[07/21/25 10:55:46] ERROR listing git files failed - pretending git.py:26
there aren’t any


Finished <<< rosbridge_msgs [5.38s]


stderr: audio_common_msgs
[07/21/25 10:55:46] ERROR listing git files failed - pretending git.py:26
there aren’t any


Finished <<< audio_common_msgs [5.43s]


stderr: speech_recognition_msgs
[07/21/25 10:55:47] ERROR listing git files failed - pretending git.py:26
there aren’t any


Finished <<< speech_recognition_msgs [5.43s]
Starting >>> realsense2_camera
Starting >>> audio_play
Starting >>> realsense2_description
Starting >>> sound_play
Starting >>> audio_capture
Starting >>> sound_play_msgs


stderr: rosapi_msgs
[07/21/25 10:55:46] ERROR listing git files failed - pretending git.py:26
there aren’t any


Finished <<< rosapi_msgs [5.52s]


stderr: rosbridge_test_msgs
[07/21/25 10:55:46] ERROR listing git files failed - pretending git.py:26
there aren’t any


Finished <<< rosbridge_test_msgs [5.55s]
Starting >>> rosbridge_library
Finished <<< realsense2_description [0.34s]
Starting >>> stretch_description
Finished <<< audio_play [0.50s]
Finished <<< audio_capture [0.52s]
Finished <<< realsense2_camera [0.58s]
Finished <<< stretch_description [0.29s]


stderr: tf2_web_republisher
[07/21/25 10:55:49] ERROR listing git files failed - pretending git.py:26
there aren’t any


Finished <<< tf2_web_republisher [6.12s]


stderr: rosbridge_library
[07/21/25 10:55:51] ERROR listing git files failed - pretending there aren’t any git.py:26


Finished <<< rosbridge_library [2.33s]
Starting >>> rosapi


stderr: sound_play
[07/21/25 10:55:52] ERROR listing git files failed - pretending there aren’t any git.py:26


Finished <<< sound_play [2.85s]
Starting >>> audio_common
Finished <<< audio_common [0.17s]


stderr: sound_play_msgs
[07/21/25 10:55:52] ERROR listing git files failed - pretending git.py:26
there aren’t any


Finished <<< sound_play_msgs [3.20s]
Starting >>> respeaker_ros2


stderr: rosapi
[07/21/25 10:55:54] ERROR listing git files failed - pretending there aren’t any git.py:26


Finished <<< rosapi [2.54s]
Starting >>> rosbridge_server
Finished <<< hello_helpers [10.7s]
Starting >>> stretch_core
Finished <<< stretch_deep_perception [10.7s]
Finished <<< stretch_ros_tutorials [11.7s]
Finished <<< stretch_demos [11.7s]
Finished <<< tf2_web_republisher_py [11.7s]


stderr: rosbridge_server
[07/21/25 10:55:56] ERROR listing git files failed - pretending there aren’t any git.py:26


Finished <<< rosbridge_server [1.90s]
Starting >>> rosbridge_suite
Starting >>> stretch_web_teleop
Finished <<< rosbridge_suite [0.14s]
Finished <<< respeaker_ros2 [5.05s]
— stderr: stretch_web_teleop
[07/21/25 10:55:58] ERROR listing git files failed - pretending git.py:26
there aren’t any
[07/21/25 10:55:58] ERROR listing git files failed - pretending git.py:26
there aren’t any


Finished <<< stretch_web_teleop [1.89s]
Finished <<< stretch_core [5.45s]
Starting >>> stretch_calibration
Starting >>> stretch_simulation
[18.220s] WARNING:colcon.colcon_ros.task.ament_python.build:Package ‘stretch_simulation’ doesn’t explicitly install a marker in the package index (colcon-ros currently does it implicitly but that fallback will be removed in the future)
Finished <<< stretch_calibration [5.66s]
Finished <<< stretch_simulation [5.66s]

Summary: 33 packages finished [22.1s]
15 packages had stderr output: audio_common_msgs realsense2_camera_msgs ros2_numpy rosapi rosapi_msgs rosbridge_library rosbridge_msgs rosbridge_server rosbridge_test_msgs sound_play sound_play_msgs speech_recognition_msgs stretch_nav2 stretch_web_teleop tf2_web_republisher

Hi @tberg1234, thank you for the details. First, unfortunately Discourse doesn’t have a setting to allow new users to upload files. I’ve bumped you to Trust Level 1, so you shouldn’t see those errors anymore.

I think your original issue was

Err:5 http ://packages.ros.org/ros2/ubuntu jammy InRelease
  The following signatures were invalid: EXPKEYSIG F42ED6FBAB17C654 Open Robotics info@osrfoundation .org

and it looks like you’ve fixed it using sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg.

Then, it looks like you solved the node warning too by adding “arch=amd64”. I’ve opened a PR to fix this in our install scripts.

Then, it looks like you set up a ROS workspace without issue:

#############################################
DONE! ROS WORKSPACE SET UP SUCCESSFULLY.
#############################################

Internally, this script has used colcon build --symlink-install, so if you’re editing existing Python nodes, you don’t need to build the workspace.

In “colcon_build_output1.txt”, you actually have no errors. Although setuptools prints out errors loudly and there are warnings too, none of these affect the actual compilation. At the end, all 34 packages build successfully:

Summary: 34 packages finished [29.6s]

In “colcon_build_output2.txt”, you run into build errors because you updated pip to a newer version. Unfortunately, ROS requires an older version of pip when using cython extensions (as Stretch FUNMAP does). This is why we downgrade pip inside the workspace script.

In “colcon_build_output3.txt”, you’ve removed Stretch FUNMAP from the build list, so only 33 packages build successfully:

Summary: 33 packages finished [22.1s]

If you rerun the stretch_create_ament_workspace.sh script, you should get output similar to your “colcon_build_output1.txt” file. At that point, you should be all set to begin development.

Hope this helps! Let me know if you have any questions.

Hello @cscott,

I faced a similar problem when I started with Demo 1: Mapping and Navigation on SE3. In my case, upon running ros2 launch stretch_nav2 offline_mapping.launch.py, I was getting a similar error in RViz: Frame [map] does not exist.

When I looked at the terminal output, I noticed the following message:

[stretch_driver-3] Another process is already using Stretch. Try running "stretch_free_robot_process.py"
[stretch_driver-3] [FATAL] [1753876169.429881896] [stretch_driver]: Robot startup failed.

By default, stretch is configured to start the gamepad teleoperation demo in the background on startup. So, here’s what I did:

  1. Freed up the robot process by running (Disconnected gamepad teleoperation ):
    stretch_free_robot_process.py
  2. Then launched the mapping demo again:
    ros2 launch stretch_nav2 offline_mapping.launch.py

After doing this, it worked perfectly, the map loaded in RViz without any errors.

Hope this helps!

1 Like