Closed orensbruli closed 1 year ago
Need to be tested on ubuntu docker run -it ros:humble bash
sudo apt update
sudo apt install git cmake qtbase5-dev qt5-qmake python3-vcstool curl python3-colcon-common-extensions python3 wget python3-rosdep python3-pip -y
python3 -m pip install flask-socketio fastapi uvicorn datamodel_code_generator
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
rosdep install --from-paths src --ignore-src --rosdistro humble -y
apt update
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
cd src/thirdparty/nlohmann_json_schema_validator_vendor/
git checkout emartinena/fix_rpm_build
cd ~/rmf_ws
colcon build --mixin release lld --packages-up-to nlohmann_json_schema_validator_vendor
it build. -Checking if everything else build with
Release to test on RedHat
with ubi8, colcon depends argcomplete, argcomplete is usually available in AppStream repo but not for UBI.
Trying with fedora:28 docker run -it fedora:28 bash
. Fails. It's EOF.
Trying with almalinux docker run -it almaliux:latest bash
#subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
#dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
dnf install 'dnf-command(config-manager)' epel-release -y
dnf config-manager --set-enabled powertools
curl --output /etc/yum.repos.d/ros2.repo http://packages.ros.org/ros2/rhel/ros2.repo
dnf update -y && dnf install git cmake curl wget python3 tar bzip2 wget python3-pip python3-vcstool python3-colcon-common-extensions python3-colcon-mixin python3-rosdep -y
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
rosdep install --from-paths src --ignore-src --rosdistro humble -y --skip-keys="ignition-fortress ignition-fuel-tools7 python3-flask-socketio python3-websockets"
dnf update
dnf 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
cd src/thirdparty/nlohmann_json_schema_validator_vendor/
git checkout emartinena/fix_rpm_build
cd ~/rmf_ws
colcon build --mixin release lld --packages-up-to nlohmann_json_schema_validator_vendor
Errors generated when building:
/root/rmf_ws/build/nlohmann_json_schema_validator_vendor/nlohmann_json_schema_validator-5782bdcf9ebbc552a4a6f899f8e50ed7181f397c-prefix/src/nlohmann_json_schema_validator-5782bdcf9ebbc552a4a6f899f8e50ed7181f397c/src/json-validator.cpp:541:35: error: no member named 'binary' in 'nlohmann::detail::value_t'
type_[(uint8_t) json::value_t::binary] = type_[(uint8_t) json::value_t::string];
~~~~~~~~~~~~~~~^
/root/rmf_ws/build/nlohmann_json_schema_validator_vendor/nlohmann_json_schema_validator-5782bdcf9ebbc552a4a6f899f8e50ed7181f397c-prefix/src/nlohmann_json_schema_validator-5782bdcf9ebbc552a4a6f899f8e50ed7181f397c/src/json-validator.cpp:653:48: error: no member named 'binary' in 'nlohmann::detail::value_t'
} else if (instance.type() == json::value_t::binary) {
~~~~~~~~~~~~~~~^
/root/rmf_ws/build/nlohmann_json_schema_validator_vendor/nlohmann_json_schema_validator-5782bdcf9ebbc552a4a6f899f8e50ed7181f397c-prefix/src/nlohmann_json_schema_validator-5782bdcf9ebbc552a4a6f899f8e50ed7181f397c/src/json-validator.cpp:1186:22: error: no member named 'binary' in 'nlohmann::detail::value_t'
case json::value_t::binary:
~~~~~~~~~~~~~~~^
3 errors generated.
Testing locally PR https://github.com/open-rmf/rmf_visualization/pull/54
Ubuntu docker run -it ros:humble bash
. Built :ok_hand:
sudo apt update
sudo apt install git cmake qtbase5-dev qt5-qmake python3-vcstool curl python3-colcon-common-extensions python3 wget python3-rosdep python3-pip -y
python3 -m pip install flask-socketio fastapi uvicorn datamodel_code_generator
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
rosdep install --from-paths src --ignore-src --rosdistro humble -y
apt update
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
cd src/rmf/rmf_visualization/
git checkout fix/eigen_not_found_rmp
cd ~/rmf_ws
colcon build --mixin release lld --packages-up-to rmf_visualization_floorplans
Trying with almalinux docker run -it almaliux:latest bash
#subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
#dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
dnf install 'dnf-command(config-manager)' epel-release -y
dnf config-manager --set-enabled powertools
curl --output /etc/yum.repos.d/ros2.repo http://packages.ros.org/ros2/rhel/ros2.repo
dnf update -y && dnf install git cmake curl wget python3 tar bzip2 wget python3-pip python3-vcstool python3-colcon-common-extensions python3-colcon-mixin python3-rosdep -y
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
rosdep install --from-paths src --ignore-src --rosdistro humble -y --skip-keys="ignition-fortress ignition-fuel-tools7 python3-flask-socketio python3-websockets"
dnf update
dnf 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
cd src/rmf/rmf_visualization/
git checkout fix/eigen_not_found_rmp
cd ~/rmf_ws
colcon build --mixin release lld --packages-up-to rmf_visualization_floorplans
cd src/thirdparty/nlohmann_json_schema_validator_vendor/
git checkout emartinena/fix_rpm_build
cd ~/rmf_ws
colcon build --mixin release lld
fails with:
--- stderr: rmf_robot_sim_common
In file included from /root/rmf_ws/src/rmf/rmf_simulation/rmf_robot_sim_common/src/utils.cpp:21:
/root/rmf_ws/src/rmf/rmf_simulation/rmf_robot_sim_common/include/rmf_robot_sim_common/utils.hpp:23:10: fatal error: 'Eigen/Geometry' file not found
#include <Eigen/Geometry>
^~~~~~~~~~~~~~~~
1 error generated.
gmake[2]: *** [CMakeFiles/rmf_robot_sim_utils.dir/build.make:76: CMakeFiles/rmf_robot_sim_utils.dir/src/utils.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:223: CMakeFiles/rmf_robot_sim_utils.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed <<< rmf_robot_sim_common [17.3s, exited with code 2]
rmf_visualization_floorplans
but with rmf_robot_sim_common
After releasing https://github.com/ros/rosdistro/pull/35320
19:14:05 CMake Error at /opt/ros/rolling/lib/cmake/nlohmann_json_schema_validator/nlohmann_json_schema_validatorTargets.cmake:74 (message):
19:14:05 The imported target "nlohmann_json_schema_validator" references the file
19:14:05
19:14:05 "/tmp/binarydeb/ros-rolling-nlohmann-json-schema-validator-vendor-0.2.3/.obj-x86_64-linux-gnu/json_external_project/install/lib/libnlohmann_json_schema_validator.so.2.1.1"
19:14:05
19:14:05 but this file does not exist. Possible reasons include:
19:14:05
19:14:05 * The file was deleted, renamed, or moved to another location.
19:14:05
19:14:05 * An install or uninstall procedure did not complete successfully.
19:14:05
19:14:05 * The installation package was faulty and contained
19:14:05
19:14:05 "/opt/ros/rolling/lib/cmake/nlohmann_json_schema_validator/nlohmann_json_schema_validatorTargets.cmake"
19:14:05
19:14:05 but not all the files it references.
19:14:05
Looking into the differences for the vendored package CMakeLists.txt we can see huge changes from the current commit to the previous one we were using: https://github.com/pboettch/json-schema-validator/compare/5ef4f903af055550e06955973a193e17efded896..1063c9adbafc25f5a14bae15c3babdb039de86c6
Continuation of https://github.com/open-rmf/rmf/issues/265