rosdep can't find cyclonedds during foxy install on raspbian
I have created a fresh raspbian system on as Pi3b. I have created a new user with sudo privileges, rebooted to new user and installed latest updates follow by a reboot. I am now trying to install ros2 following these instructions https://docs.ros.org/en/foxy/Installa... and using this image ros2-foxy-20201211-linux-focal-arm64.tar.bz2. When trying to install the dependencies I get :
robot@robot:~/ros2_foxy $ rosdep install --from-paths ros2-linux/share --ignore-src --rosdistro foxy -y --skip-keys "console_bridge fastcdr fastrtps osrf_testing_tools_cpp poco_vendor rmw_connext_cpp rosidl_typesupport_connext_c rosidl_typesupport_connext_cpp rti-connext-dds-5.3.1 tinyxml_vendor tinyxml2_vendor urdfdom urdfdom_headers"
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
rmw_cyclonedds_cpp: No definition of [cyclonedds] for OS [debian]
Following a previous question I then proceed with the -r option and all seems to go OK until I try to run the demos when I get the following errors: talker
robot@robot:~ $ ros2 run demo_nodes_cpp talker
Traceback (most recent call last):
File "/home/robot/ros2_foxy/ros2-linux/bin/ros2", line 33, in <module>
sys.exit(load_entry_point('ros2cli==0.9.8', 'console_scripts', 'ros2')())
File "/home/robot/ros2_foxy/ros2-linux/lib/python3.8/site-packages/ros2cli/cli.py", line 67, in main
rc = extension.main(parser=parser, args=args)
File "/home/robot/ros2_foxy/ros2-linux/lib/python3.8/site-packages/ros2run/command/run.py", line 70, in main
return run_executable(path=path, argv=args.argv, prefix=prefix)
File "/home/robot/ros2_foxy/ros2-linux/lib/python3.8/site-packages/ros2run/api/__init__.py", line 61, in run_executable
process = subprocess.Popen(cmd)
File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/home/robot/ros2_foxy/ros2-linux/lib/demo_nodes_cpp/talker'
listener
robot@robot:~/ros2_foxy $ ros2 run demo_nodes_py listener
Traceback (most recent call last):
File "/home/robot/ros2_foxy/ros2-linux/lib/demo_nodes_py/listener", line 33, in <module>
sys.exit(load_entry_point('demo-nodes-py==0.9.3', 'console_scripts', 'listener')())
File "/home/robot/ros2_foxy/ros2-linux/lib/demo_nodes_py/listener", line 25, in importlib_load_entry_point
return next(matches).load()
File "/home/robot/.local/lib/python3.7/site-packages/importlib_metadata/__init__.py", line 100, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/robot/ros2_foxy/ros2-linux/lib/python3.8/site-packages/demo_nodes_py/topics/listener.py", line 16, in <module>
from rclpy.node import Node
File "/home/robot/ros2_foxy/ros2-linux/lib/python3.8/site-packages/rclpy/node.py", line 41, in <module>
from rclpy.client import Client
File "/home/robot/ros2_foxy/ros2-linux/lib/python3.8/site-packages/rclpy/client.py", line 22, in <module>
from rclpy.impl.implementation_singleton import rclpy_implementation as _rclpy
File "/home/robot/ros2_foxy/ros2-linux/lib/python3.8 ...
Hi @bassline. I'm having the same problem. Any updates on this?
I tried everything again and using "top" to monitor CPU and memory usage I could see it was swapping out memory all the time in the final build. I bought a new Pi4B and installed under ubuntu with no problems. I suggest you try and close everything that is not essential, reduce memory swapping (sorry can't remember where I found that hack) and then try again. PS If you decide to upgrade to a 4B be aware that the mains supply has a different connector so you will need a new power supply as well.
I have tried again pulling the most recent code but still get problems compiling (e.g. /usr/bin/ld: ../../lib/libOgreMain.so.1.12.1: undefined reference to `__atomic_fetch_add_8') my command line input (after working around several problems) is: MAKEFLAGS="-j1 -l1" colcon build --symlink-install --cmake-args -DCMAKE_EXTRA_LINKER_FLAGS='-latomic' -DBUILD_TESTING=OFF --cmake-force-configure --packages-skip-build-finished --continue-on-error
Has anyone actually succeeded in compiling ROS2 on a Pi3B or do I just transfer my efforts to mi Pi4b?