ros2 / ros2

The Robot Operating System, is a meta operating system for robots.
https://docs.ros.org
3.63k stars 682 forks source link

Installation issues when installing Iron from source on Fedora 39 #1491

Closed toitimtoe closed 1 year ago

toitimtoe commented 1 year ago

Bug report and proposed ways to help in the documentation

Required Info:

Steps to reproduce issue

Followed the instructions step by step from this documentation.

Expected behavior

Installed ros2 Iron without issues

Actual behavior

Failed to build some packages when running colcon build --symlink-install

Additional information

rcpputils

The file that caused the issue is src/ros2/rcpputils/include/rcpputils/filesystem_helper.hpp.

filesystem_helper.hpp:137:20: error: ‘uint64_t’ does not name a type   137 |   RCPPUTILS_PUBLIC uint64_t file_size() const;

I found that Chris fixed this issue in a PR a while back, but it's probably not updated to the repo files. My workaround is to apply the fix on the file locally.

This issue seems to also affect ros-tooling/libstatistics_collector/include/libstatistics_collector/moving_average_statistics/types.hpp, fixed in PR.

A missing stdexcept for rclcpp is also fixed in PR but not merged into Iron.

qt_gui_cpp

Errors are such as

g++: fatal error: environment variable ‘RPM_ARCH’ not defined

and

g++: fatal error: environment variable ‘RPM_PACKAGE_RELEASE’ not defined

Solution (inspired by the oolite installation troubleshooting):

export RPM_ARCH=$(uname -m)
export RPM_PACKAGE_RELEASE=1.0
export RPM_PACKAGE_VERSION=1.0
export RPM_PACKAGE_VERSION=qt_gui_cpp

I filled random values for the RPM_PACKAGE_RELEASE, RPM_PACKAGE_VERSION and RPM_PACKAGE_NAME. Not sure what are the correct values, but I don't think they would affect the installation process.

Hope this helps any fellow fedora users out there. Do let me know if there is a better way of doing this or documenting this.

clalancette commented 1 year ago

It was just never backported to Iron. I've now done that in https://github.com/ros2/rcpputils/pull/182

toitimtoe commented 1 year ago

It was just never backported to Iron. I've now done that in ros2/rcpputils#182

Thank you so much for the quick response. Can we also backport the similar fixes in rclcpp and libstatistic-collector please?

EnteRente commented 4 months ago

Solution (inspired by the oolite installation troubleshooting):

export RPM_ARCH=$(uname -m)
export RPM_PACKAGE_RELEASE=1.0
export RPM_PACKAGE_VERSION=1.0
export RPM_PACKAGE_VERSION=qt_gui_cpp

Thank you, this helped a lot. There is just a minor typo. Nothing significant, but I just wanted to point it out. It should be export RPM_PACKAGE_NAME=qt_gui_cpp instead of export RPM_PACKAGE_VERSION=qt_gui_cpp