diff --git a/.github/workflows/generate-conda-packages.yaml b/.github/workflows/generate-conda-packages.yaml index 8ecd4c9a0..3580dc57b 100644 --- a/.github/workflows/generate-conda-packages.yaml +++ b/.github/workflows/generate-conda-packages.yaml @@ -54,8 +54,8 @@ jobs: include: - os: ubuntu-20.04 conda_platform: linux-64 - - os: macos-11.0 - conda_platform: osx-64 + - os: macos-14 + conda_platform: osx-arm64 - os: windows-2019 conda_platform: win-64 @@ -79,11 +79,11 @@ jobs: - name: Install files to enable compilation of mex files [Conda/macOS] if: contains(matrix.os, 'macos') run: | - curl -L -O https://github.com/robotology/robotology-vcpkg-ports/releases/download/storage/msdk_R2020a_mexmaci64.zip - unzip msdk_R2020a_mexmaci64.zip - rm msdk_R2020a_mexmaci64.zip - echo "GHA_Matlab_ROOT_DIR=${GITHUB_WORKSPACE}/msdk_R2020a_mexmaci64" >> $GITHUB_ENV - echo "GHA_Matlab_MEX_EXTENSION=mexmaci64" >> $GITHUB_ENV + curl -L -O https://github.com/robotology/robotology-vcpkg-ports/releases/download/storage/msdk_R2023b_mexmaca64.zip + unzip msdk_R2023b_mexmaca64.zip + rm msdk_R2023b_mexmaca64.zip + echo "GHA_Matlab_ROOT_DIR=${GITHUB_WORKSPACE}/msdk_R2023b_mexmaca64" >> $GITHUB_ENV + echo "GHA_Matlab_MEX_EXTENSION=mexmaca64" >> $GITHUB_ENV - name: Install files to enable compilation of mex files [Conda/Windows] if: contains(matrix.os, 'windows') @@ -98,7 +98,7 @@ jobs: - name: Dependencies for conda recipes generation and upload shell: bash -l {0} run: | - conda install pyyaml jinja2 conda-build ninja anaconda-client conda-forge-pinning mamba boa multisheller + conda install pyyaml jinja2 conda-build ninja anaconda-client conda-forge-pinning mamba boa multisheller pixi - name: Print used environment shell: bash -l {0} @@ -187,8 +187,6 @@ jobs: # icub-main needs robotology channel as it also depends on esdcan, and local to avoid that robotology packages are used instead of local built one conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml -c local -c conda-forge -c robotology icub-main rm -rf icub-main - conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml wearables - rm -rf wearables # Channels specified explicitly due to https://github.com/robotology/robotology-superbuild/issues/1140 conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml -c local -c conda-forge human-dynamics-estimation rm -rf human-dynamics-estimation @@ -221,10 +219,16 @@ jobs: if: github.event_name == 'schedule' || github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.upload_conda_binaries == 'true') env: ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + PREFIX_DEV_TOKEN: ${{ secrets.PREFIX_DEV_TOKEN }} run: | cd ${CONDA_BLD_PATH}/${{ matrix.conda_platform}}/ ls *.tar.bz2 anaconda upload --skip-existing *.tar.bz2 + pixi auth login https://prefix.dev --token $PREFIX_DEV_TOKEN + for condapackage in *.tar.bz2; do + pixi upload https://prefix.dev/api/v1/upload/robotology "$condapackage" + done + pixi auth logout https://prefix.dev # Only on linux-64 we upload noarch packages (noarch packages need to be uploaded only once, as they can be reused across platforms) - name: Upload conda packages (noarch) @@ -233,10 +237,16 @@ jobs: if: matrix.conda_platform == 'linux-64' && (github.event_name == 'schedule' || github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.upload_conda_binaries == 'true')) env: ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + PREFIX_DEV_TOKEN: ${{ secrets.PREFIX_DEV_TOKEN }} run: | cd ${CONDA_BLD_PATH}/noarch/ ls *.tar.bz2 anaconda upload --skip-existing *.tar.bz2 + pixi auth login https://prefix.dev --token $PREFIX_DEV_TOKEN + for condapackage in *.tar.bz2; do + pixi upload https://prefix.dev/api/v1/upload/robotology "$condapackage" + done + pixi auth logout https://prefix.dev - name: Build robotology-distro-all conda metapackage (if necessary) if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.test_metapackages_generation == 'true') @@ -253,11 +263,16 @@ jobs: if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.test_metapackages_generation == 'true' && github.event.inputs.upload_conda_binaries == 'true') env: ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + PREFIX_DEV_TOKEN: ${{ secrets.PREFIX_DEV_TOKEN }} run: | cd ${CONDA_BLD_PATH}/${{ matrix.conda_platform}}/ ls robotology-distro-all-*.tar.bz2 anaconda upload --skip-existing robotology-distro-all-*.tar.bz2 - + pixi auth login https://prefix.dev --token $PREFIX_DEV_TOKEN + for condapackage in robotology-distro-all-*.tar.bz2; do + pixi upload https://prefix.dev/api/v1/upload/robotology "$condapackage" + done + pixi auth logout https://prefix.dev # If the generate-conda-packages completed correctly and binaries are uploaded, diff --git a/.github/workflows/generate-non-periodical-conda-package.yaml b/.github/workflows/generate-non-periodical-conda-package.yaml index 331d05f17..0dd203674 100644 --- a/.github/workflows/generate-non-periodical-conda-package.yaml +++ b/.github/workflows/generate-non-periodical-conda-package.yaml @@ -20,8 +20,8 @@ jobs: include: - os: ubuntu-20.04 conda_platform: linux-64 - - os: macos-11.0 - conda_platform: osx-64 + - os: macos-14 + conda_platform: osx-arm64 - os: windows-2019 conda_platform: win-64 @@ -36,7 +36,7 @@ jobs: - name: Dependencies for conda recipes generation and upload shell: bash -l {0} run: | - conda install pyyaml jinja2 conda-build ninja anaconda-client conda-forge-pinning mamba boa multisheller + conda install pyyaml jinja2 conda-build ninja anaconda-client conda-forge-pinning mamba boa multisheller pixi - name: Print used environment shell: bash -l {0} @@ -64,7 +64,13 @@ jobs: if: (github.event_name == 'workflow_dispatch' && github.event.inputs.upload_conda_binaries == 'true') env: ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + PREFIX_DEV_TOKEN: ${{ secrets.PREFIX_DEV_TOKEN }} run: | cd ${CONDA_PREFIX}/conda-bld/${{ matrix.conda_platform}}/ ls *.tar.bz2 anaconda upload --skip-existing *.tar.bz2 + pixi auth login https://prefix.dev --token $PREFIX_DEV_TOKEN + for condapackage in *.tar.bz2; do + pixi upload https://prefix.dev/api/v1/upload/robotology "$condapackage" + done + pixi auth logout https://prefix.dev diff --git a/cmake/BuildHumanDynamicsEstimation.cmake b/cmake/BuildHumanDynamicsEstimation.cmake index c3662cc58..aca5e787e 100644 --- a/cmake/BuildHumanDynamicsEstimation.cmake +++ b/cmake/BuildHumanDynamicsEstimation.cmake @@ -7,9 +7,9 @@ include(FindOrBuildPackage) find_or_build_package(YARP QUIET) find_or_build_package(ICUB QUIET) find_or_build_package(iDynTree QUIET) -find_or_build_package(wearables QUIET) find_or_build_package(osqp QUIET) find_or_build_package(OsqpEigen QUIET) +find_or_build_package(robometry QUIET) # For what regards Python installation, the options changes depending # on whether we are installing HDE in the superbuild, or generating a @@ -26,6 +26,11 @@ if(ROBOTOLOGY_USES_PYTHON) endif() endif() + +if(WIN32) + list(APPEND HDE_OPTIONAL_CMAKE_ARGS -DXSENS_MVN_USE_SDK:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} -DENABLE_XsensSuit:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} ) +endif() + ycm_ep_helper(HumanDynamicsEstimation TYPE GIT STYLE GITHUB REPOSITORY robotology/human-dynamics-estimation.git @@ -35,10 +40,10 @@ ycm_ep_helper(HumanDynamicsEstimation TYPE GIT CMAKE_ARGS -DHUMANSTATEPROVIDER_ENABLE_VISUALIZER:BOOL=ON -DHDE_COMPILE_PYTHON_BINDINGS:BOOL=${ROBOTOLOGY_USES_PYTHON} ${HDE_OPTIONAL_CMAKE_ARGS} DEPENDS iDynTree YARP - wearables osqp OsqpEigen - ICUB) + ICUB + robometry) set(HumanDynamicsEstimation_CONDA_DEPENDENCIES eigen) diff --git a/cmake/Buildwearables.cmake b/cmake/Buildwearables.cmake deleted file mode 100644 index 69a954029..000000000 --- a/cmake/Buildwearables.cmake +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (C) 2018 iCub Facility, Istituto Italiano di Tecnologia -# CopyPolicy: Released under the terms of the LGPLv2.1 or later, see LGPL.TXT - -include(YCMEPHelper) -include(FindOrBuildPackage) - -find_or_build_package(YARP QUIET) -find_or_build_package(iDynTree QUIET) -find_or_build_package(robometry QUIET) - -set(WEARABLES_CMAKE_ARGS "") -if(WIN32) - list(APPEND WEARABLES_CMAKE_ARGS -DXSENS_MVN_USE_SDK:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} -DENABLE_XsensSuit:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} ) -endif() - -list(APPEND WEARABLES_CMAKE_ARGS "-DWEARABLES_COMPILE_PYTHON_BINDINGS:BOOL=${ROBOTOLOGY_USES_PYTHON}") - -if(ROBOTOLOGY_USES_PYTHON AND NOT ROBOTOLOGY_GENERATE_CONDA_RECIPES) - list(APPEND WEARABLES_CMAKE_ARGS "-DWEARABLES_PYTHON_INSTALL_DR=${ROBOTOLOGY_SUPERBUILD_PYTHON_INSTALL_DIR}") -endif() - -ycm_ep_helper(wearables TYPE GIT - STYLE GITHUB - REPOSITORY robotology/wearables.git - TAG master - COMPONENT human_dynamics - FOLDER src - DEPENDS YARP - iDynTree - robometry - CMAKE_ARGS ${WEARABLES_CMAKE_ARGS}) - -if(ROBOTOLOGY_USES_PYTHON) - list(APPEND wearables_CONDA_DEPENDENCIES python) - list(APPEND wearables_CONDA_DEPENDENCIES pybind11) - # https://conda-forge.org/docs/maintainer/knowledge_base.html#pybind11-abi-constraints - list(APPEND wearables_CONDA_DEPENDENCIES pybind11-abi) -endif() diff --git a/cmake/RobotologySuperbuildLogic.cmake b/cmake/RobotologySuperbuildLogic.cmake index 003fa4cd2..30371805c 100644 --- a/cmake/RobotologySuperbuildLogic.cmake +++ b/cmake/RobotologySuperbuildLogic.cmake @@ -146,7 +146,6 @@ endif() # Human Dynamics Estimation if(ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS) find_or_build_package(yarp-devices-forcetorque) - find_or_build_package(wearables) find_or_build_package(HumanDynamicsEstimation) find_or_build_package(human-gazebo) endif() diff --git a/cmake/template/addPathsToUserEnvVariables.ps1.in b/cmake/template/addPathsToUserEnvVariables.ps1.in index 846edf600..57d4b51b2 100644 --- a/cmake/template/addPathsToUserEnvVariables.ps1.in +++ b/cmake/template/addPathsToUserEnvVariables.ps1.in @@ -80,7 +80,6 @@ Add-ValueToUserEnvVariable BLOCKTEST_RESOURCE_PATH $ROBOTOLOGY_SUPERBUILD_INSTAL # ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS-specific lines Add-ValueToUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\human-gazebo"; Add-ValueToUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\HumanDynamicsEstimation"; -Add-ValueToUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\Wearables"; @endcmakeif ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS @cmakeif ROBOTOLOGY_USES_PYTHON diff --git a/cmake/template/removePathsFromUserEnvVariables.ps1.in b/cmake/template/removePathsFromUserEnvVariables.ps1.in index 346f1bed9..ca456ac58 100644 --- a/cmake/template/removePathsFromUserEnvVariables.ps1.in +++ b/cmake/template/removePathsFromUserEnvVariables.ps1.in @@ -83,7 +83,6 @@ Remove-ValueFromUserEnvVariable BLOCKTEST_RESOURCE_PATH $ROBOTOLOGY_SUPERBUILD_I # Cleanup ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS-specific lines Remove-ValueFromUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\human-gazebo"; Remove-ValueFromUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\HumanDynamicsEstimation"; -Remove-ValueFromUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\Wearables"; @endcmakeif ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS @cmakeif ROBOTOLOGY_USES_PYTHON diff --git a/cmake/template/setup.bat.in b/cmake/template/setup.bat.in index 999b10c84..6cd6e411c 100644 --- a/cmake/template/setup.bat.in +++ b/cmake/template/setup.bat.in @@ -41,7 +41,6 @@ set "BLOCKTEST_RESOURCE_PATH"=%ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX%\bin rem ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS-specific lines set "YARP_DATA_DIRS=%YARP_DATA_DIRS%;%ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX%\share\human-gazebo" set "YARP_DATA_DIRS=%YARP_DATA_DIRS%;%ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX%\share\HumanDynamicsEstimation" -set "YARP_DATA_DIRS=%YARP_DATA_DIRS%;%ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX%\share\Wearables" @endcmakeif ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS @cmakeif ROBOTOLOGY_USES_PYTHON diff --git a/cmake/template/setup.sh.in b/cmake/template/setup.sh.in index 173c88780..c4523676c 100644 --- a/cmake/template/setup.sh.in +++ b/cmake/template/setup.sh.in @@ -45,7 +45,6 @@ export BLOCKTEST_RESOURCE_PATH=${ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX}/bin # ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS-specific lines export YARP_DATA_DIRS=$YARP_DATA_DIRS:${ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX}/share/human-gazebo export YARP_DATA_DIRS=$YARP_DATA_DIRS:${ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX}/share/HumanDynamicsEstimation -export YARP_DATA_DIRS=$YARP_DATA_DIRS:${ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX}/share/Wearables @endcmakeif ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS @cmakeif ROBOTOLOGY_USES_PYTHON diff --git a/conda/cmake/CondaGenerationOptions.cmake b/conda/cmake/CondaGenerationOptions.cmake index 92e4abf1f..9da4310d8 100644 --- a/conda/cmake/CondaGenerationOptions.cmake +++ b/conda/cmake/CondaGenerationOptions.cmake @@ -2,7 +2,7 @@ # to ensure that binaries belonging to different rebuilds # can be distinguished even if the version number is the same if(NOT CONDA_BUILD_NUMBER) - set(CONDA_BUILD_NUMBER 131) + set(CONDA_BUILD_NUMBER 133) endif() # This option is enabled only when the metapackages robotology-distro and robotology-distro-all are diff --git a/conda/multisheller/wearables_activate.msh b/conda/multisheller/wearables_activate.msh deleted file mode 100644 index 6572a37c9..000000000 --- a/conda/multisheller/wearables_activate.msh +++ /dev/null @@ -1,5 +0,0 @@ -if_(is_set("COMSPEC")).then_([ - sys.list_append("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "Library\\share\\Wearables")) -]).else_([ - sys.list_append("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "share/Wearables")) -]) diff --git a/conda/multisheller/wearables_deactivate.msh b/conda/multisheller/wearables_deactivate.msh deleted file mode 100644 index 96cc7c271..000000000 --- a/conda/multisheller/wearables_deactivate.msh +++ /dev/null @@ -1,5 +0,0 @@ -if_(is_set("COMSPEC")).then_([ - sys.list_remove("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "Library\\share\\Wearables")) -]).else_([ - sys.list_remove("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "share/Wearables")) -]) diff --git a/doc/cmake-options.md b/doc/cmake-options.md index f951a47b5..acf7664aa 100644 --- a/doc/cmake-options.md +++ b/doc/cmake-options.md @@ -49,7 +49,7 @@ All these options are named `ROBOTOLOGY_ENABLE_` . | `ROBOTOLOGY_ENABLE_ICUB_HEAD` | The robotology software packages needed on the system that is running on the head of the iCub robot, or in general to communicate directly with iCub low-level devices. | [`icub-firmware`](https://github.com/robotology/icub-firmware), [`icub-firmware-shared`](https://github.com/robotology/icub-firmware-shared). Furthermore, several additional devices are compiled in `YARP` and `ICUB` if this option is enabled. | `OFF` | [Documentation on iCub Head profile.](#icub-head) | | `ROBOTOLOGY_ENABLE_ICUB_BASIC_DEMOS` | The robotology software packages needed to run basic demonstrations with the iCub robot. | [`icub-basic-demos`](https://github.com/robotology/icub-basic-demos), [`speech`](https://github.com/robotology/speech), [`funny-things`](https://github.com/robotology/funny-things). | `OFF` | [Documentation on iCub Basic Demos profile.](#icub-basic-demos) | | `ROBOTOLOGY_ENABLE_TELEOPERATION` | The robotology software packages related to teleoperation. | [`walking-teleoperation`](https://github.com/robotology/walking-teleoperation), [`https://github.com/ami-iit/yarp-openvr-trackers`](https://github.com/ami-iit/yarp-openvr-trackers) and [`https://github.com/ami-iit/yarp-device-openxrheadset`](https://github.com/ami-iit/yarp-device-openxrheadset). | `OFF` | [Documentation on teleoperation profile.](#teleoperation) | -| `ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS` | The robotology software packages related to human dynamics estimation. | [`human-dynamics-estimation`](https://github.com/robotology/human-dynamics-estimation), [`wearables`](https://github.com/robotology/wearables), [`yarp-devices-forcetorque`](https://github.com/robotology/yarp-devices-forcetorque). For options check the profile documentation. | `OFF` | [Documentation on human dynamics profile.](#human-dynamics) | +| `ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS` | The robotology software packages related to human dynamics estimation. | [`human-dynamics-estimation`](https://github.com/robotology/human-dynamics-estimation), [`yarp-devices-forcetorque`](https://github.com/robotology/yarp-devices-forcetorque). For options check the profile documentation. | `OFF` | [Documentation on human dynamics profile.](#human-dynamics) | | `ROBOTOLOGY_ENABLE_EVENT_DRIVEN` | The robotology software packages related to event-driven. | [`event-driven`](https://github.com/robotology/event-driven) | `OFF` | [Documentation on event-driven profile.](#event-driven) | | `ROBOTOLOGY_ENABLE_GRASPING` | The robotology software packages related to grasping. | [`find-superquadric`](https://github.com/robotology/find-superquadric) if the `ROBOTOLOGY_USES_PCL_AND_VTK` option is enabled. | `OFF` | [Documentation on grasping profile.](#grasping) | @@ -372,7 +372,11 @@ Furthermore, due to Python ignoring the directories in `PATH`, before running py ~~~python import os -os.add_dll_directory(os.path.join(os.environ['ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX'], bin)) + +if os.name == "nt": + superbuild_dll_path = os.path.join(os.environ.get('ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX',""), 'bin') + if (os.exists(superbuild_dll_path)): + os.add_dll_directory(superbuild_dll_path) ~~~ see https://github.com/robotology/robotology-superbuild/issues/1268 for more details. diff --git a/doc/conda-forge.md b/doc/conda-forge.md index 691a587fe..140bc126f 100644 --- a/doc/conda-forge.md +++ b/doc/conda-forge.md @@ -14,17 +14,19 @@ For an overview of advantages and disadvantages of conda and conda-forge, check This section describes how to install the binary packages built from the `robotology-superbuild` on conda on Windows, macOS and Linux. -Depending on the speficic package, the binary packages are hosted either in [`conda-forge`](https://anaconda.org/conda-forge) or [`robotology`](https://anaconda.org/robotology). Only packages that are built as part of the profiles and options that are supported on Conda (see [documentation on CMake options](cmake-options.md)) are available as conda binary packages. +Depending on the speficic package, the binary packages are hosted either in [`conda-forge`](https://prefix.dev/channels/conda-forge) or [`robotology`](https://prefix.dev/channels/robotology) channels. Only packages that are built as part of the profiles and options that are supported on Conda (see [documentation on CMake options](cmake-options.md)) are available as conda binary packages. The following conda platforms are supported by all packages of the robotology-superbuild: * `linux-64` (Linux on x86-64) -* `osx-64` (macOS on x86-64) +* `osx-arm64` (macOS on ARM 64-bit) * `win-64` (Windows on x86-64) Some packages are also available for: * `linux-aarch64` (Linux on ARM 64-bit) -* `osx-arm64` (macOS on ARM 64-bit) +* `osx-64` (macOS on x86-64) + +As the switch from building the `robotology` channel packages from `osx-64` to `osx-arm64` happened in September 2024 (see https://github.com/robotology/robotology-superbuild/pull/1712), it may happen that some older packages are only available for `osx-64` and not `osx-arm64`. If you need a binary package on a platform in which it is not available, feel free to [open an issue](https://github.com/robotology/robotology-superbuild/issues/new) requesting it. @@ -63,24 +65,24 @@ conda activate robotologyenv Once you are in an activated environment, you can install robotology packages by just running the command: ~~~ -conda install -c conda-forge -c robotology +conda install -c conda-forge -c https://repo.prefix.dev/robotology ~~~ The list of available packages is available at https://anaconda.org/robotology/repo . For example, if you want to install yarp and icub-main, you simple need to install: ~~~ -conda install -c conda-forge -c robotology yarp icub-main +conda install -c conda-forge -c https://repo.prefix.dev/robotology yarp icub-main ~~~ In addition, if you want to simulate the iCub in Gazebo Classic, you should also install `icub-models` and `gazebo-yarp-plugins`: ~~~ -conda install -c conda-forge -c robotology gazebo-yarp-plugins icub-models +conda install -c conda-forge gazebo-yarp-plugins icub-models ~~~ While if you want to simulate it with Modern Gazebo (gz-sim), you should install `icub-models` and `gz-sim-yarp-plugins`: ~~~ -conda install -c conda-forge -c robotology gz-sim-yarp-plugins icub-models +conda install -c conda-forge gz-sim-yarp-plugins icub-models ~~~ If you want to develop some C++ code on the top of these libraries, it is recommended to also install the necessary compiler and development tools directly in the same environment: @@ -88,6 +90,14 @@ If you want to develop some C++ code on the top of these libraries, it is recomm conda install -c conda-forge compilers cmake pkg-config make ninja ~~~ +### Advanced: robotology channel mirrors + +To ensure redundancy, the `robotology` channel is available on two servers: +* [`prefix.dev`](https://prefix.dev/channels/robotology) +* [`anaconda.org`](https://anaconda.org/robotology/) + +The full history of packages is available on the prefix.dev mirror, so if you aim for reproducibility, try to use the prefix.dev mirror by specifying the channel via `-c https://repo.prefix.dev/robotology`. On the anaconda.org, some packages built before 1st of January 2023 are not available, so if you only care for the latest packages, you can also install packages by simply passing `-c robotology` to conda. + ## Source installation This section describes how to compile and install the robotology-superbuild with conda-forge provided dependencies on Windows, macOS and Linux. diff --git a/doc/environment-variables-configuration.md b/doc/environment-variables-configuration.md index 7886576b4..22f7d7150 100644 --- a/doc/environment-variables-configuration.md +++ b/doc/environment-variables-configuration.md @@ -51,8 +51,7 @@ For all profile options not listed, no additional configuration is required. ### Human Dynamics `$ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX/share/human-gazebo`, -`$ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX/share/HumanDynamicsEstimation`, -and`$ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX/share/Wearables` must be appended to the `YARP_DATA_DIRS` environmental variable. +and `$ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX/share/HumanDynamicsEstimation`` must be appended to the `YARP_DATA_DIRS` environmental variable. ## Dependency-specific configuration steps diff --git a/doc/faqs.md b/doc/faqs.md index 86ad2649c..5d0d30495 100644 --- a/doc/faqs.md +++ b/doc/faqs.md @@ -91,11 +91,11 @@ If you are on Windows and you obtain an error message like: OSError: [WinError 182] The operating system cannot run %1. Error loading "D:\miniforge\envs\robsub\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies. ~~~ -when trying to load `import torch`, then probably you have both `openmp` and `intel-openmp` installed in your conda environment. To fix your pytorch installation, just run: +when trying to load `import torch`, then probably you have both `openmp` and `intel-openmp` installed in your conda environment, and they both install files with the same name. +To fix your pytorch installation you need to ensure that the files from `intel-openmp` are used, to do so you can run: ~~~ -conda uninstall openmp -conda install intel-openmp --forge-reinstall +conda install intel-openmp --force-reinstall ~~~ -Note that this procedure can create problem when installing ipopt-related software. This will be probably be solved once conda-forge migrates to a modern fortran compiler on Windows, see https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/1359 for more infomation. +This will be probably be solved once conda-forge migrates to a modern fortran compiler on Windows, see https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/1359 for more infomation. diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index b0be63197..d0719eb7d 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -46,11 +46,11 @@ repositories: GazeboYARPPlugins: type: git url: https://github.com/robotology/gazebo-yarp-plugins.git - version: v4.11.2 + version: v4.12.0 icub-models: type: git url: https://github.com/robotology/icub-models.git - version: v2.7.0 + version: v2.8.0 ergocub-software: type: git url: https://github.com/icub-tech-iit/ergocub-software.git @@ -78,7 +78,7 @@ repositories: iDynTree: type: git url: https://github.com/robotology/idyntree.git - version: v12.4.0 + version: v13.0.0 BlockFactory: type: git url: https://github.com/robotology/blockfactory.git @@ -119,14 +119,10 @@ repositories: type: git url: https://github.com/robotology/yarp-devices-forcetorque.git version: v0.3.1 - wearables: - type: git - url: https://github.com/robotology/wearables.git - version: v1.9.0 HumanDynamicsEstimation: type: git url: https://github.com/robotology/human-dynamics-estimation.git - version: v3.1.0 + version: v4.0.0 human-gazebo: type: git url: https://github.com/robotology/human-gazebo.git