Skip to content

Commit

Permalink
Install ace conda-forge package also on osx-arm64 and enable ROBOTOLO…
Browse files Browse the repository at this point in the history
…GY_USES_ICUB_HEAD option on osx-arm64 (#1663)
  • Loading branch information
traversaro authored Jun 12, 2024
1 parent da4b2d2 commit 494a996
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 30 deletions.
3 changes: 1 addition & 2 deletions .ci/initial-cache.gh.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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}))
Expand Down
9 changes: 1 addition & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 0 additions & 10 deletions cmake/BuildYARP.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions doc/cmake-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ Not all options are supported on all platforms. The following table provides a r
| `ROBOTOLOGY_ENABLE_ROBOT_TESTING`<sup id="a2">[2!](#f2)</sup> | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| `ROBOTOLOGY_ENABLE_DYNAMICS` | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| `ROBOTOLOGY_ENABLE_DYNAMICS_FULL_DEPS` | ✔️ || ✔️ | ✔️ | ✔️ |
| `ROBOTOLOGY_ENABLE_ICUB_HEAD`<sup id="a2">[2!](#f2)</sup> | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| `ROBOTOLOGY_ENABLE_ICUB_HEAD` | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| `ROBOTOLOGY_ENABLE_ICUB_BASIC_DEMOS` | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| `ROBOTOLOGY_ENABLE_TELEOPERATION` | ✔️ || ✔️ || ✔️ |
| `ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS` | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Expand All @@ -105,7 +105,7 @@ Not all options are supported on all platforms. The following table provides a r

<b id="f1">1!</b>:`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.

<b id="f2">2!</b>:`ROBOTOLOGY_ENABLE_ROBOT_TESTING` and `ROBOTOLOGY_ENABLE_ICUB_HEAD` do not support building with conda-forge dependencies on Apple Silicon.
<b id="f2">2!</b>:`ROBOTOLOGY_ENABLE_ROBOT_TESTING` does not support building with conda-forge dependencies on Apple Silicon.

<b id="f3">3!</b>:`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).

Expand Down
11 changes: 3 additions & 8 deletions doc/conda-forge.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
~~~
Expand Down

0 comments on commit 494a996

Please sign in to comment.