Closed orensbruli closed 1 year ago
graph TD
rmf_websocket --> __nlohmann_json_schema_validator__
graph TD
rmf_visualization_schedule --> rmf_visualization_schedule_SRC
rmf_traffic_ros2 --> rmf_traffic_ros2_SRC
rmf_traffic_ros2 --> rmf_fleet_adapter
rmf_traffic_ros2 --> rmf_task_ros2
rmf_traffic_ros2 --> rmf_visualization_navgraphs
rmf_traffic_ros2 --> rmf_visualization_rviz2_plugins
rmf_traffic_ros2 --> rmf_visualization_schedule
rmf_visualization_rviz2 --> rmf_visualization_rviz2_SRC
rmf_visualization_rviz2 --> rmf_traffic_ros2
rmf_visualization --> rmf_visualization_rviz2
rmf_visualization_navgraphs --> rmf_visualization_navgraphs_SRC
rmf_visualization --> rmf_visualization_navgraphs__rhel_8_x86_64__binary
rmf_visualization --> rmf_visualization_rviz2_plugins__rhel_8_x86_64__binary
rmf_visualization --> rmf_visualization_schedule__rhel_8_x86_64__binary
rmf_visualization --> rmf_visualization_SRC
rmf_traffic_editor_test_maps
Need to ask why and how to reenable.
08:20:07 DEBUG: /builddir/build/BUILD/ros-humble-nlohmann-json-schema-validator-vendor-0.2.1/.obj-x86_64-redhat-linux-gnu/nlohmann_json_schema_validator-1063c9adbafc25f5a14bae15c3babdb039de86c6-prefix/src/nlohmann_json_schema_validator-1063c9adbafc25f5a14bae15c3babdb039de86c6/src/nlohmann/json-schema.hpp:28:4: error: #error "Please use this library with NLohmann's JSON version 3.8.0 or higher"
08:20:07 DEBUG: # error "Please use this library with NLohmann's JSON version 3.8.0 or higher"
08:20:07 DEBUG: ^~~~~
rosdep points to json-devel
for rhel and fedora: https://github.com/ros/rosdistro/blob/master/rosdep/base.yaml#L6554
Installing EPEL on a UBI8 image
Checking json-devel version on RHEL8
dnf list json-devel
==> json-devel.x86_64 3.6.1-2.el8
Options instead of vendoring:
We are currently using the only release of the original package:
Looking for the commit when this check was introduced:
Trying to point our vendoring to the commit prior to the dependence to 3.8 and try to build.
sudo apt update && sudo apt install git cmake python3-vcstool curl python3-colcon* wget python3-rosdep -y
python3 -m pip install flask-socketio fastapi uvicorn datamodel_code_generator
sudo rosdep init
rosdep update
mkdir -p ~/rmf_ws/src
cd ~/rmf_ws
wget https://raw.githubusercontent.com/open-rmf/rmf/main/rmf.repos
vcs import src < rmf.repos
rosdep install --from-paths src --ignore-src --rosdistro humble -y
sudo apt update
sudo apt install clang lldb lld -y
colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
colcon mixin update default
cd ~/rmf_ws
source /opt/ros/humble/setup.bash
export CXX=clang++ export CC=clang
- We need to approve this PR before getting it working https://github.com/open-rmf/rmf_ros2/pull/246 :eye:
## [ pybind11_json_vendor ![Build Status](https://build.ros2.org/job/Hbin_rhel_el864__pybind11_json_vendor__rhel_8_x86_64__binary/badge/icon)](https://build.ros2.org/job/Hbin_rhel_el864__pybind11_json_vendor__rhel_8_x86_64__binary/) <a name="pybindjson"></a>
08:22:29 DEBUG: warning: Empty %files file /builddir/build/BUILD/ros-humble-pybind11-json-vendor-0.2.0/debugsourcefiles.list 08:22:29 DEBUG: error: Installed (but unpackaged) file(s) found: 08:22:29 DEBUG: /builddir/build/BUILD/ros-humble-pybind11-json-vendor-0.2.0/.obj-x86_64-redhat-linux-gnu/pybind11_json/include/pybind11_json/pybind11_json.hpp 08:22:29 DEBUG: /builddir/build/BUILD/ros-humble-pybind11-json-vendor-0.2.0/.obj-x86_64-redhat-linux-gnu/pybind11_json/share/cmake/pybind11_json/pybind11_jsonConfig.cmake 08:22:29 DEBUG: /builddir/build/BUILD/ros-humble-pybind11-json-vendor-0.2.0/.obj-x86_64-redhat-linux-gnu/pybind11_json/share/cmake/pybind11_json/pybind11_jsonConfigVersion.cmake 08:22:29 DEBUG: /builddir/build/BUILD/ros-humble-pybind11-json-vendor-0.2.0/.obj-x86_64-redhat-linux-gnu/pybind11_json/share/cmake/pybind11_json/pybind11_jsonTargets.cmake 08:22:29 DEBUG: Empty %files file /builddir/build/BUILD/ros-humble-pybind11-json-vendor-0.2.0/debugsourcefiles.list 08:22:29 DEBUG: Installed (but unpackaged) file(s) found: 08:22:29 DEBUG: /builddir/build/BUILD/ros-humble-pybind11-json-vendor-0.2.0/.obj-x86_64-redhat-linux-gnu/pybind11_json/include/pybind11_json/pybind11_json.hpp 08:22:29 DEBUG: /builddir/build/BUILD/ros-humble-pybind11-json-vendor-0.2.0/.obj-x86_64-redhat-linux-gnu/pybind11_json/share/cmake/pybind11_json/pybind11_jsonConfig.cmake 08:22:29 DEBUG: /builddir/build/BUILD/ros-humble-pybind11-json-vendor-0.2.0/.obj-x86_64-redhat-linux-gnu/pybind11_json/share/cmake/pybind11_json/pybind11_jsonConfigVersion.cmake 08:22:29 DEBUG: /builddir/build/BUILD/ros-humble-pybind11-json-vendor-0.2.0/.obj-x86_64-redhat-linux-gnu/pybind11_json/share/cmake/pybind11_json/pybind11_jsonTargets.cmake
- I'm guessing it can be something we are not doing (or doing it without having to) in the package.xml or more probably in the CMakeLists.txt of the package https://github.com/open-rmf/pybind11_json_vendor/blob/main/CMakeLists.txt
- Looking into the [CMakeLists.txt of json_vendor](https://github.com/ros2/pybind11_vendor/blob/rolling/CMakeLists.txt) of ros2 as a reference (it's been generated [ok](https://build.ros2.org/job/Hbin_rhel_el864__pybind11_vendor__rhel_8_x86_64__binary/))
- Maybe we should migrate the CMakeLists of pybind11_json_vendor to the same CMakeLists.txt "template" for vendoring the package.
- We got a PR from @cottsay :+1: https://github.com/open-rmf/pybind11_json_vendor/pull/7
- Merged
- Need to be release :eye:
- Released for rolling https://github.com/ros/rosdistro/pull/35280
- Releasing for humble https://github.com/ros/rosdistro/pull/35285
Failing jenkin job: https://build.ros2.org/job/Hbin_rhel_el864__rmf_task__rhel_8_x86_64__binary/41/console
repo: https://github.com/open-rmf/rmf_task
undefined references to std::filesystem::__cxx11
08:21:23 DEBUG: RPM build errors:
08:21:23 DEBUG: ::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_ops.h:121: undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&)'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_ops.h:121: undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&)'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_ops.h:121: undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&)'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_ops.h:121: undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&)'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_ops.h:121: undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&)'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_ops.h:121: undefined reference to `std::filesystem::status(std::filesystem::__cxx11::path const&)'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `C_A_T_C_H_T_E_S_T_0()':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:258: undefined reference to `std::filesystem::__cxx11::path::has_filename() const'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:261: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:258: undefined reference to `std::filesystem::__cxx11::path::has_filename() const'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:261: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:258: undefined reference to `std::filesystem::__cxx11::path::has_filename() const'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:261: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `__static_initialization_and_destruction_0(int, int) [clone .constprop.211]':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:185: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: CMakeFiles/test_rmf_task.dir/test/integration/test_backups.cpp.o: In function `std::filesystem::__cxx11::path::operator/=(std::filesystem::__cxx11::path const&)':
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:381: undefined reference to `std::filesystem::__cxx11::path::has_root_directory() const'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:258: undefined reference to `std::filesystem::__cxx11::path::has_filename() const'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:261: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: /usr/include/c++/8/bits/fs_path.h:261: undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
08:21:23 DEBUG: librmf_task.so: undefined reference to `std::filesystem::__cxx11::directory_iterator::operator*() const'
08:21:23 DEBUG: librmf_task.so: undefined reference to `std::filesystem::remove(std::filesystem::__cxx11::path const&)'
08:21:23 DEBUG: librmf_task.so: undefined reference to `std::filesystem::create_directories(std::filesystem::__cxx11::path const&)'
08:21:23 DEBUG: librmf_task.so: undefined reference to `std::filesystem::__cxx11::directory_iterator::operator++()'
08:21:23 DEBUG: librmf_task.so: undefined reference to `std::filesystem::rename(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)'
08:21:23 DEBUG: librmf_task.so: undefined reference to `std::filesystem::__cxx11::directory_iterator::directory_iterator(std::filesystem::__cxx11::path const&, std::filesystem::directory_options, std::error_code*)'
08:21:23 DEBUG: librmf_task.so: undefined reference to `std::filesystem::is_empty(std::filesystem::__cxx11::path const&)'
https://forums.centos.org/viewtopic.php?t=75885#p319235
The release notes of GCC 9 mention that 'stdc++fs' is linked automatically, when you use
. Therefore, GCC 8 does not do that. You have to tell -lstdc++fs to compiler.
[root@ee9a4abcf8fe /]# dnf list gcc
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Last metadata expiration check: 0:01:07 ago on Wed Nov 9 09:19:03 2022.
Available Packages
gcc.x86_64 8.5.0-15.el8 ubi-8-appstream-rpms
[root@ee9a4abcf8fe /]#
08:19:19 DEBUG: CMake Error at CMakeLists.txt:25 (add_library):
08:19:19 DEBUG: Target "floorplan_visualizer" links to target "Eigen3::Eigen" but the
08:19:19 DEBUG: target was not found. Perhaps a find_package() call is missing for an
08:19:19 DEBUG: IMPORTED target, or an ALIAS target is missing?
08:19:19 DEBUG: -- Generating done
08:19:16 DEBUG: eigen3-devel-3.3.4-6.el8.noarch 1575283471 6784228 52c4b0561bf717f0d220260fe21674a1 installed
08:19:19 DEBUG: -- Found Eigen3: /usr/include/eigen3 (Required is at least version "2.91.0")
Trying to resolve the previously found problems.
Builds: https://github.com/open-rmf/rmf/blob/main/reports/builds.md This week we are focused on rhel packages.