Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DRAFT] Update to YARP 3.11.1 candidate #1799

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,6 @@ jobs:
cmake_generator:
- "Ninja"
docker_image:
- "ubuntu:20.04"
- "ubuntu:22.04"
- "ubuntu:24.04"

Expand All @@ -203,10 +202,6 @@ jobs:
project_tags_cmake_options: ""
- project_tags: Unstable
project_tags_cmake_options: "-DROBOTOLOGY_PROJECT_TAGS=Unstable"
exclude:
# Not supported anymore, see https://github.com/robotology/robotology-superbuild/issues/1783
- project_tags: Unstable
docker_image: "ubuntu:20.04"

container:
image: ${{ matrix.docker_image }}
Expand All @@ -230,28 +225,12 @@ jobs:
chmod +x ./.ci/install_debian.sh
bash ./.ci/install_debian.sh

- name: Install recent CMake [Docker/Ubuntu Focal]
if: matrix.docker_image == 'ubuntu:20.04'
run: |
apt-get -y update
apt-get install -y ca-certificates software-properties-common gpg wget
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main'
apt-get install -y cmake

- name: Configure [Docker]
run: |
mkdir -p build
cd build
cmake -C ${GITHUB_WORKSPACE}/.ci/initial-cache.gh.cmake -G"${{ matrix.cmake_generator }}" -DNON_INTERACTIVE_BUILD:BOOL=TRUE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ${{ matrix.project_tags_cmake_options }} ..

- name: Disable MuJoCo and gz-sim for distros released before 2022 [Docker ubuntu:20.04]
if: (matrix.docker_image == 'ubuntu:20.04')
run: |
cd build
cmake -DROBOTOLOGY_USES_MUJOCO:BOOL=OFF -DROBOTOLOGY_USES_GZ:BOOL=OFF .

- name: Disable Gazebo Classic support for distro without Gazebo Classic binaries [Docker ubuntu:24.04]
if: (matrix.docker_image == 'ubuntu:24.04')
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/generate-conda-packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
- os: ubuntu-22.04
conda_platform: linux-64
- os: macos-14
conda_platform: osx-arm64
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
- os: ubuntu-22.04
conda_platform: linux-64
- os: macos-14
conda_platform: osx-arm64
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-latest-releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
jobs:
update-latest-releases:
name: "Update latest releases"
runs-on: [ubuntu-20.04]
runs-on: [ubuntu-22.04]
steps:
- uses: actions/checkout@v4

Expand Down
14 changes: 2 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@ We also support an additional deprecated way of compiling the superbuild, on Win
## Linux from source with dependencies provided by apt

The following apt-based distributions are supported and tested by the robotology-superbuild:
* Ubuntu 20.04 (Focal Fossa)
* Ubuntu 22.04 (Jammy Jellyfish)
* Ubuntu 24.04 (Noble Numbat)

Expand All @@ -119,27 +118,18 @@ Besides the packages listed in `apt.txt` file, the script `install_apt_dependenc

For what regards CMake, the robotology-superbuild requires CMake 3.19 . If you are using a recent Debian-based system such as Ubuntu 22.04, the default CMake is recent enough and you do not need to do further steps.

If instead you use an older distro in which the default version of CMake is older, you can easily install a newer CMake version in several ways. For the following distributions, we recommend the following methods:
* Ubuntu 20.04 "Focal" : install a recent CMake via Kitware APT Repository, see https://apt.kitware.com/ .


For some [profile](doc/cmake-options.md#profile-cmake-options) or [dependency](doc/cmake-options.md#dependencies-cmake-options) specific CMake option you may need to install additional system dependencies, following the dependency-specific documentation listed in the following. If you do not want to enable an option, you should ignore the corresponding section and continue with the installation process.

Note that the `ROBOTOLOGY_USES_GAZEBO` option is enabled by default (except on Ubuntu 24.04 when installing with apt dependencies), so you should install Gazebo Classic unless you plan to disable this option.

#### `ROBOTOLOGY_USES_GAZEBO`

On Linux with apt dependencies install Gazebo Classic, if you are on:
* Ubuntu 20.04

follow the instructions available at https://gazebosim.org/tutorials?tut=install_ubuntu . Make sure to install also the development files, i.e. `libgazebo*-dev` on Debian/Ubuntu.

Otherwise, if you are on other supported Debian/Ubuntu systems, just install the system provided gazebo package with:
If you are on Ubuntu 22.04 or another Debian/Ubuntu systems where the `libgazebo-dev` Gazebo Classic package is available in apt, just install the system provided gazebo package with:
~~~~
sudo apt install libgazebo-dev
~~~~

If you are on Ubuntu 24.04, please use conda if you want to install Gazebo Classic, as no Gazebo Classic packages are available via apt.
If you are on Ubuntu 24.04, please use conda or pixi to install robotology-superbuild dependencies if you want to install Gazebo Classic, as no Gazebo Classic packages are available via apt.

#### `ROBOTOLOGY_USES_GZ`

Expand Down
1 change: 1 addition & 0 deletions apt.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ libassimp-dev
libboost-filesystem-dev
libboost-system-dev
libboost-thread-dev
libdc1394-dev
libedit-dev
libeigen3-dev
libgsl0-dev
Expand Down
5 changes: 0 additions & 5 deletions cmake/Buildbipedal-locomotion-framework.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,6 @@ if (ROBOTOLOGY_ENABLE_DYNAMICS_FULL_DEPS)
list(APPEND bipedal-locomotion-framework_DEPENDS CppAD)
list(APPEND bipedal-locomotion-framework_DEPENDS LieGroupControllers)

if (ROBOTOLOGY_BUILD_QHULL)
find_or_build_package(qhull QUIET)
list(APPEND bipedal-locomotion-framework_DEPENDS qhull)
endif()

if (ROBOTOLOGY_BUILD_tomlplusplus)
find_or_build_package(tomlplusplus QUIET)
list(APPEND bipedal-locomotion-framework_DEPENDS tomlplusplus)
Expand Down
6 changes: 4 additions & 2 deletions cmake/Buildyarp-device-openxrheadset.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ include(FindOrBuildPackage)

find_or_build_package(YARP QUIET)
find_or_build_package(OpenXR QUIET)
find_or_build_package(iDynTree QUIET)

ycm_ep_helper(yarp-device-openxrheadset TYPE GIT
STYLE GITHUB
Expand All @@ -14,6 +15,7 @@ ycm_ep_helper(yarp-device-openxrheadset TYPE GIT
COMPONENT dynamics
FOLDER src
DEPENDS YARP
OpenXR)
OpenXR
iDynTree)

set(yarp-device-openxrheadset_CONDA_DEPENDENCIES glew glm glfw xorg-xproto)
set(yarp-device-openxrheadset_CONDA_DEPENDENCIES glew glm glfw xorg-xproto idyntree)
5 changes: 3 additions & 2 deletions cmake/ProjectsTagsStable.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ set_tag(casadi-matlab-bindings_TAG v3.6.7.0)

# Robotology projects
set_tag(YCM_TAG master)
set_tag(YARP_TAG yarp-3.10)
set_tag(yarp-devices-ros2_TAG v1.0.0)
set_tag(YARP_REPOSITORY traversaro/yarp.git)
set_tag(YARP_TAG fixpublicheaders)
set_tag(yarp-devices-ros2_TAG master)
set_tag(yarp-matlab-bindings_TAG yarp-3.10)
set_tag(gym-ignition_TAG v1.3.1)
5 changes: 3 additions & 2 deletions cmake/ProjectsTagsUnstable.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ set_tag(casadi-matlab-bindings_TAG v3.6.6.0)

# Robotology projects
# Pin YARP and yarp-devices-ros2 to a version before the yarp::dev::ReturnValue changes
set_tag(YARP_TAG 43ba0305f8ca690cea5c2a8a6bcdcec60d3ddd0a)
set_tag(yarp-devices-ros2_TAG e4ba8fa2efe7486edd3ade40b2236e69acb6ab37)
set_tag(YARP_REPOSITORY traversaro/yarp.git)
set_tag(YARP_TAG fixpublicheaders)
set_tag(yarp-devices-ros2_TAG master)
set_tag(ICUB_TAG devel)
set_tag(RobotTestingFramework_TAG devel)
set_tag(blockTest_TAG devel)
Expand Down
23 changes: 1 addition & 22 deletions cmake/RobotologySuperbuildLogic.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,6 @@ else()
set(ROBOTOLOGY_CONFIGURING_UNDER_CONDA OFF)
endif()


# We only build qhull on Ubuntu 20.04, not on any other platform
# See https://github.com/robotology/robotology-superbuild/issues/1269#issuecomment-1257811559
# See https://stackoverflow.com/questions/26919334/detect-underlying-platform-flavour-in-cmake
if(ROBOTOLOGY_CONFIGURING_UNDER_CONDA OR APPLE OR WIN32)
set(ROBOTOLOGY_BUILD_QHULL OFF)
else()
find_program(ROBSUB_LSB_RELEASE lsb_release)
if(ROBSUB_LSB_RELEASE)
execute_process(COMMAND lsb_release -cs
OUTPUT_VARIABLE LSB_RELEASE_CODENAME
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endif()
if(LSB_RELEASE_CODENAME STREQUAL "focal")
set(ROBOTOLOGY_BUILD_QHULL ON)
else()
set(ROBOTOLOGY_BUILD_QHULL OFF)
endif()
endif()

# On conda-forge we get tomlplusplus from conda-forge, otherwise we build it
if(ROBOTOLOGY_CONFIGURING_UNDER_CONDA)
set(ROBOTOLOGY_BUILD_tomlplusplus OFF)
Expand Down Expand Up @@ -78,7 +57,7 @@ if(ROBOTOLOGY_ENABLE_CORE)
find_or_build_package(idyntree-matlab-bindings)
endif()
find_or_build_package(whole-body-estimators)

if(NOT ROBOTOLOGY_SKIP_ROBOTS_CONFIGURATION)
find_or_build_package(robots-configuration)
endif()
Expand Down
3 changes: 1 addition & 2 deletions doc/cmake-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ Not all options are supported on all platforms. The following table provides a r
| `ROBOTOLOGY_USES_MOVEIT` | ✔️ | ❌ | ✔️ | ❌ | ❌ |
| `ROBOTOLOGY_USES_IGNITION` | ❌ | ❌ | ✔️ | ❌ | ❌ |
| `ROBOTOLOGY_USES_MATLAB` | ✔️ | ❌ | ✔️ | ✔️ | ✔️ |
| `ROBOTOLOGY_USES_OCTAVE`<sup id="a4">[4!](#f4)</sup> | ✔️ | ❌ | ❌ | ) ❌ | ❌ |
| `ROBOTOLOGY_USES_OCTAVE` | ✔️ | ❌ | ❌ | ) ❌ | ❌ |
| `ROBOTOLOGY_USES_PYTHON` | ✔️ | ❌ | ✔️ | ✔️ | ✔️ |
| `ROBOTOLOGY_USES_CFW2CAN` | ✔️ | ❌ | ✔️ | ❌ | ❌ |
| `ROBOTOLOGY_USES_XSENS_MVN_SDK` | ❌ | ✔️ | ❌ | ❌ | ❌ |
Expand All @@ -115,7 +115,6 @@ Not all options are supported on all platforms. The following table provides a r

<b id="f3">3!</b>:`ROBOTOLOGY_USES_GZ` with apt dependencies do not support building on Debian distros (only Ubuntu is supported). Furthermore it does not run on Windows (https://github.com/gazebosim/gz-sim/issues/2089) and have known problems on macOS (https://github.com/robotology/gz-sim-yarp-plugins/issues/90).

<b id="f4">4!</b>:`ROBOTOLOGY_USES_OCTAVE` do not support building with apt dependencies on Ubuntu 20.04.


Profile-specific documentation
Expand Down
Loading
Loading