From 494a996ebf89636c21b5bb09154afe9a1a29bf30 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 12 Jun 2024 21:19:37 +0200 Subject: [PATCH] Install ace conda-forge package also on osx-arm64 and enable ROBOTOLOGY_USES_ICUB_HEAD option on osx-arm64 (#1663) --- .ci/initial-cache.gh.cmake | 3 +-- .github/workflows/ci.yml | 9 +-------- cmake/BuildYARP.cmake | 10 ---------- doc/cmake-options.md | 4 ++-- doc/conda-forge.md | 11 +++-------- 5 files changed, 7 insertions(+), 30 deletions(-) diff --git a/.ci/initial-cache.gh.cmake b/.ci/initial-cache.gh.cmake index 4268c4d80..9ed7dae6d 100644 --- a/.ci/initial-cache.gh.cmake +++ b/.ci/initial-cache.gh.cmake @@ -17,9 +17,8 @@ endif() # Profiles options if(NOT (APPLE AND ($ENV{RUNNER_ARCH} STREQUAL "ARM64"))) set(ROBOTOLOGY_ENABLE_ROBOT_TESTING ON CACHE BOOL "") - set(ROBOTOLOGY_ENABLE_ICUB_HEAD ON CACHE BOOL "") endif() - +set(ROBOTOLOGY_ENABLE_ICUB_HEAD ON CACHE BOOL "") set(ROBOTOLOGY_ENABLE_DYNAMICS ON CACHE BOOL "") # ROBOTOLOGY_ENABLE_DYNAMICS_FULL_DEPS is only supported on Windows with conda if(NOT (WIN32 AND NOT DEFINED ENV{CONDA_PREFIX})) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 098e6d5c4..32a657fe1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,18 +80,11 @@ jobs: echo "GHA_Matlab_ROOT_DIR=${GITHUB_WORKSPACE}/msdk_R2020a_mexw64" >> $GITHUB_ENV echo "GHA_Matlab_MEX_EXTENSION=mexw64" >> $GITHUB_ENV - - name: Install ace (on all platforms excluding macOS M1) [Conda] - if: matrix.os != 'macos-14' - shell: bash -l {0} - run: | - # Dependencies - conda install ace - - name: Dependencies [Conda] shell: bash -l {0} run: | # Dependencies - conda install asio assimp boost eigen freetype gazebo gz-sim8 glew glfw glm graphviz gsl ipopt irrlicht libjpeg-turbo libmatio libode libxml2 nlohmann_json pcl vtk opencv portaudio qt-main sdl sdl2 sqlite tinyxml spdlog lua soxr cmake compilers make ninja pkg-config tomlplusplus libzlib "ffmpeg==6.*" onnxruntime-cpp + conda install ace asio assimp boost eigen freetype gazebo gz-sim8 glew glfw glm graphviz gsl ipopt irrlicht libjpeg-turbo libmatio libode libxml2 nlohmann_json pcl vtk opencv portaudio qt-main sdl sdl2 sqlite tinyxml spdlog lua soxr cmake compilers make ninja pkg-config tomlplusplus libzlib "ffmpeg==6.*" onnxruntime-cpp # Python conda install python numpy swig==4.1.0 pybind11 pyqt matplotlib h5py tornado u-msgpack-python pyzmq ipython gst-plugins-good gst-plugins-bad pyqtwebengine qtpy pyyaml diff --git a/cmake/BuildYARP.cmake b/cmake/BuildYARP.cmake index 8f21ca7bc..373ca8bb3 100644 --- a/cmake/BuildYARP.cmake +++ b/cmake/BuildYARP.cmake @@ -38,16 +38,6 @@ if(ROBOTOLOGY_USES_PYTHON) list(APPEND YARP_OPTIONAL_DEPS "-DCMAKE_INSTALL_PYTHON3DIR=${ROBOTOLOGY_SUPERBUILD_PYTHON_INSTALL_DIR}") endif() -# Workaround for ace not available on arm64 on Apple in conda-forge, see -# https://github.com/robotology/robotology-superbuild/issues/916 -# https://github.com/conda-forge/ace-feedstock/issues/29 -# See https://github.com/conda-forge/sleef-feedstock/blob/7fa2b0e5c9d9a10165809b4bb73a5840d72d0cdc/recipe/patches/353.patch#L6 -# for the logic of detecting arm builds on Apple -if(ROBOTOLOGY_CONFIGURING_UNDER_CONDA AND APPLE - AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64") - list(APPEND YARP_OPTIONAL_CMAKE_ARGS "-DSKIP_ACE:BOOL=ON") -endif() - # Workaround for graphviz==9 failures with YARP <= 3.9 # See https://github.com/robotology/robotology-superbuild/issues/1604 if(ROBOTOLOGY_CONFIGURING_UNDER_CONDA) diff --git a/doc/cmake-options.md b/doc/cmake-options.md index edb61b0ef..7d7e0c88f 100644 --- a/doc/cmake-options.md +++ b/doc/cmake-options.md @@ -84,7 +84,7 @@ Not all options are supported on all platforms. The following table provides a r | `ROBOTOLOGY_ENABLE_ROBOT_TESTING`[2!](#f2) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | `ROBOTOLOGY_ENABLE_DYNAMICS` | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | `ROBOTOLOGY_ENABLE_DYNAMICS_FULL_DEPS` | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | -| `ROBOTOLOGY_ENABLE_ICUB_HEAD`[2!](#f2) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| `ROBOTOLOGY_ENABLE_ICUB_HEAD` | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | `ROBOTOLOGY_ENABLE_ICUB_BASIC_DEMOS` | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | `ROBOTOLOGY_ENABLE_TELEOPERATION` | ✔️ | ❌ | ✔️ | ❌ | ✔️ | | `ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS` | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | @@ -105,7 +105,7 @@ Not all options are supported on all platforms. The following table provides a r 1!:`ROBOTOLOGY_USES_MUJOCO` does not support building with apt dependencies on Debian or Ubuntu distributions older than 2022. Furthermore, it does not support build on Windows with Visual Studio 2019, it requires Visual Studio 2022. -2!:`ROBOTOLOGY_ENABLE_ROBOT_TESTING` and `ROBOTOLOGY_ENABLE_ICUB_HEAD` do not support building with conda-forge dependencies on Apple Silicon. +2!:`ROBOTOLOGY_ENABLE_ROBOT_TESTING` does not support building with conda-forge dependencies on Apple Silicon. 3!:`ROBOTOLOGY_USES_GZ_SIM` 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). diff --git a/doc/conda-forge.md b/doc/conda-forge.md index 91d5cf4a9..2d83449fc 100644 --- a/doc/conda-forge.md +++ b/doc/conda-forge.md @@ -129,27 +129,22 @@ of the robotology-superbuild.** Once you activated it, you can install packages in it. In particular the dependencies for the robotology-superbuild can be installed as: -If you are on **Linux**, **Windows**, or **macOS** with an Intel-based processor: ~~~ conda install -c conda-forge ace asio assimp boost eigen freetype glew glfw glm graphviz gsl ipopt irrlicht libjpeg-turbo libmatio libode libxml2 nlohmann_json pcl opencv portaudio qt-main sdl sdl2 sqlite tinyxml tinyxml2 spdlog lua soxr qhull cmake compilers make ninja pkg-config tomlplusplus libzlib "ffmpeg==6.*" onnxruntime-cpp ~~~ -If you are on **macOS** with ARM-based processor: -~~~ -conda install -c conda-forge asio assimp boost eigen freetype glew glfw glm graphviz gsl ipopt irrlicht libjpeg-turbo libmatio libode libxml2 nlohmann_json pcl opencv portaudio qt-main sdl sdl2 sqlite tinyxml tinyxml2 spdlog lua soxr qhull cmake compilers make ninja pkg-config tomlplusplus libzlib "ffmpeg==6.*" onnxruntime-cpp -~~~ -If you are on **Linux x86-64**, you also need to install also the following packages: +**Additionally** if you are on **Linux x86-64**, you **also** need to install also the following packages: ~~~ conda install -c conda-forge bash-completion freeglut libdc1394 libi2c libselinux-cos7-x86_64 xorg-libxau libxcb xorg-libxdamage xorg-libxext xorg-libxfixes xorg-libxxf86vm xorg-libxrandr mesa-libgl-cos7-x86_64 mesa-libgl-devel-cos7-x86_64 libxshmfence-cos7-x86_64 libxshmfence-devel-cos7-x86_64 ~~~ -If you are on **Linux ARM 64-bit**, you also need to install also the following packages: +**Additionally** if you are on **Linux ARM 64-bit**, you **also** need to install also the following packages: ~~~ conda install -c conda-forge bash-completion freeglut libdc1394 libi2c libselinux-cos7-aarch64 xorg-libxau libxcb xorg-libxdamage xorg-libxext xorg-libxfixes xorg-libxxf86vm xorg-libxrandr mesa-libgl-cos7-aarch64 mesa-libgl-devel-cos7-aarch64 libxshmfence-cos7-aarch64 libxshmfence-devel-cos7-aarch64 ~~~ -If you are on **Windows**, you also need to install also the following packages: +**Additionally** if you are on **Windows**, you **also** need to install also the following packages: ~~~ conda install -c conda-forge freeglut ~~~