...
In short - the above command removes a piece of code which is looking for something (renameat2 system call) that does not exist in kernels < 3.15
...
# Debian package build instructions for Navtech ROS2 SDK
## Install the protobuf compiler
Code Block |
---|
sudo apt install protobuf-compiler |
## Install the build tools
Code Block |
---|
sudo apt install python3-bloom python3-rosdep fakeroot debhelper dh-python
rosdep init
rosdep update |
## Build and install the ROS packages
Code Block |
---|
cd iasdk/ros/ros2
colcon build
. install/setup.bash |
## Create YAML to point towards custom ROS packages
Create a yaml file (in the workspace containing the packages, for example) specifying the local packages. Example of yaml content:
(Add an entry for all required packages)
nav_messages:
ubuntu: [nav-messages]
## Create a file in the rosdep sources folder
Code Block |
---|
sudo nano /etc/ros/rosdep/sources.list.d/10-local.list |
Add to this file the absolute path of the .yaml file created earlier. Example:
yaml file:///absolute_path_to_local_rosdep_file_list.yaml
## Update the ros dependencies
Code Block |
---|
rosdep update |
## Check if the new rosdep packages lists are being correctly found using:
Code Block |
---|
rosdep resolve package_name |
## Now build the debian packages
Code Block |
---|
cd ~/iasdk-public/ros/ros2/src/nav_messages
bloom-generate rosdebian --os-name ubuntu --ros-distro humble
cd ~/iasdk-public/ros/ros2/src/nav_messages/debian |
Edit the file "control" and change package name from ros-humble-nav-messages to nav-messages
Code Block |
---|
run fakeroot debian/rules binary |
This should build a .deb package called nav_messages, in iasdk-public/ros/ros2/src
cd to the next ros2 package root and repeat the above steps
# Install debian packages and check ROS can find them
Note - nav_messages package must be installed first, and nav_launch package must be installed after nav_camera and nav_radar.
This is due to packages being dependent on other pacakges
Code Block |
---|
sudo dpkg -i nav-messages_1.0.0-0jammy_amd64.deb |
Repeat the above for all Navtech ROS packages that you require
## Check ROS can find an installed package
Code Block |
---|
ros2 pkg prefix nav_messages |
The above should show the location of the installed package. Example: /opt/ros/humble