From 2e6defa223c7a66cf8b23b64e250af3b3a09d48a Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 24 Apr 2024 15:14:34 +0200 Subject: [PATCH 1/5] Fix python syntax in ergocub multisheller scripts --- conda/multisheller/ergocub-software_activate.msh | 8 ++++---- conda/multisheller/ergocub-software_deactivate.msh | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/conda/multisheller/ergocub-software_activate.msh b/conda/multisheller/ergocub-software_activate.msh index 0d02b0844..f716205dc 100644 --- a/conda/multisheller/ergocub-software_activate.msh +++ b/conda/multisheller/ergocub-software_activate.msh @@ -11,17 +11,17 @@ if_(is_set("COMSPEC")).then_([ # For some reason setting two times the same variable inside the same if does not work in command prompt # As a workaround, we move each GAZEBO_MODEL_PATH and GZ_SIM_RESOURCE_PATH set to a separate if if_(is_set("COMSPEC")).then_([ - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub\\robots")) + sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub\\robots")), sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub\\robots")) ]).else_([ - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share/ergoCub/robots")) + sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share/ergoCub/robots")), sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share/ergoCub/robots")) ]) if_(is_set("COMSPEC")).then_([ - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")) + sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")), sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")) ]).else_([ - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share")) + sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share")), sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share")) ]) diff --git a/conda/multisheller/ergocub-software_deactivate.msh b/conda/multisheller/ergocub-software_deactivate.msh index 60a358f54..12fa88c95 100644 --- a/conda/multisheller/ergocub-software_deactivate.msh +++ b/conda/multisheller/ergocub-software_deactivate.msh @@ -11,17 +11,17 @@ if_(is_set("COMSPEC")).then_([ # For some reason setting two times the same variable inside the same if does not work in command prompt # As a workaround, we move each GAZEBO_MODEL_PATH and GZ_SIM_RESOURCE_PATH set to a separate if if_(is_set("COMSPEC")).then_([ - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub\\robots")) + sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub\\robots")), sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub\\robots")) ]).else_([ - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share/ergoCub/robots")) + sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share/ergoCub/robots")), sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share/ergoCub/robots")) ]) if_(is_set("COMSPEC")).then_([ - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")) + sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")), sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")) ]).else_([ - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share")) + sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share")), sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share")) ]) From f37edb351ab2177344d2cf98b692d735f0a73b8d Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 24 Apr 2024 15:58:18 +0200 Subject: [PATCH 2/5] fixup --- .../multisheller/matlab-whole-body-simulator_activate.msh | 8 ++++---- .../matlab-whole-body-simulator_deactivate.msh | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/conda/multisheller/matlab-whole-body-simulator_activate.msh b/conda/multisheller/matlab-whole-body-simulator_activate.msh index 513302b13..33b25fbd5 100644 --- a/conda/multisheller/matlab-whole-body-simulator_activate.msh +++ b/conda/multisheller/matlab-whole-body-simulator_activate.msh @@ -2,22 +2,22 @@ if_(is_set("COMSPEC")).then_([ sys.list_append("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "Library\\share\\RRbot")), sys.list_append("ROS_PACKAGE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")), sys.list_append("AMENT_PREFIX_PATH", path.join(env("CONDA_PREFIX"), "Library")), - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\RRbot\\robots")) + sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\RRbot\\robots")), sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\RRbot\\robots")) ]).else_([ sys.list_append("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "share/RRbot")), sys.list_append("ROS_PACKAGE_PATH", path.join(env("CONDA_PREFIX"), "share")), sys.list_append("AMENT_PREFIX_PATH", env("CONDA_PREFIX")), - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share/RRbot/robots")) + sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share/RRbot/robots")), sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share/RRbot/robots")) ]) # For some reason setting two times the same variable inside the same if does not work in command prompt # As a workaround, we move each GAZEBO_MODEL_PATH and GZ_SIM_RESOURCE_PATH set to a separate if if_(is_set("COMSPEC")).then_([ - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")) + sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")), sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")) ]).else_([ - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share")) + sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share")), sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share")) ]) diff --git a/conda/multisheller/matlab-whole-body-simulator_deactivate.msh b/conda/multisheller/matlab-whole-body-simulator_deactivate.msh index e27baa1c4..59da39287 100644 --- a/conda/multisheller/matlab-whole-body-simulator_deactivate.msh +++ b/conda/multisheller/matlab-whole-body-simulator_deactivate.msh @@ -2,22 +2,22 @@ if_(is_set("COMSPEC")).then_([ sys.list_remove("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "Library\\share\\RRbot")), sys.list_remove("ROS_PACKAGE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")), sys.list_remove("AMENT_PREFIX_PATH", path.join(env("CONDA_PREFIX"), "Library")), - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\RRbot\\robots")) + sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\RRbot\\robots")), sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\RRbot\\robots")) ]).else_([ sys.list_remove("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "share/RRbot")), sys.list_remove("ROS_PACKAGE_PATH", path.join(env("CONDA_PREFIX"), "share")), sys.list_remove("AMENT_PREFIX_PATH", env("CONDA_PREFIX")), - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share/RRbot/robots")) + sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share/RRbot/robots")), sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share/RRbot/robots")) ]) # For some reason setting two times the same variable inside the same if does not work in command prompt # As a workaround, we move each GAZEBO_MODEL_PATH and GZ_SIM_RESOURCE_PATHset to a separate if if_(is_set("COMSPEC")).then_([ - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")) + sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")), sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")) ]).else_([ - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share")) + sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share")), sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share")) ]) From 6b666fccb11786bdaa7b64e40bc250317f0871ad Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 24 Apr 2024 18:16:31 +0200 Subject: [PATCH 3/5] Remove pin of ipopt to 3.14.14 --- conda/conda_build_config.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/conda/conda_build_config.yml b/conda/conda_build_config.yml index f696e0c54..eba17fc2e 100644 --- a/conda/conda_build_config.yml +++ b/conda/conda_build_config.yml @@ -15,12 +15,6 @@ qt_main: swig: - 4.1.0 -# Workaround for: -# * Giulio Romualdi's problem installing icub-main with latest blf 0.18.0 -# Remove once ipopt31414 migration is completed -ipopt: - - 3.14.14 - # Workaround for: # libxcb 1.15 migration not completed and not pinned, see https://github.com/robotology/robotology-superbuild/pull/1606#issuecomment-1965508546 libxcb: From e5d165bea2e405b25ee4e076f6c01590e9976da9 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Sat, 27 Apr 2024 21:35:12 +0200 Subject: [PATCH 4/5] Remove expat from dependencies --- .github/workflows/ci.yml | 2 +- conda/cmake_recipe_template/meta.yaml | 3 +-- doc/conda-forge.md | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4a890728d..dcfafbc53 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -108,7 +108,7 @@ jobs: run: | # Additional dependencies only useful on Linux # See https://github.com/robotology/robotology-superbuild/issues/477 - mamba install bash-completion expat 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 + mamba install 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 # Additional dependencies useful only on Windows - name: Dependencies [Conda/Windows] diff --git a/conda/cmake_recipe_template/meta.yaml b/conda/cmake_recipe_template/meta.yaml index 315334b71..717f1feee 100644 --- a/conda/cmake_recipe_template/meta.yaml +++ b/conda/cmake_recipe_template/meta.yaml @@ -37,13 +37,12 @@ requirements: {% for dep in dependencies %} - {{ dep }} {% endfor %} {# Handle specific packages required for gl on Linux, see https://conda-forge.org/docs/maintainer/knowledge_base.html?#libgl and https://github.com/conda-forge/qt-main-feedstock/blob/0a0caca0eef18d4f895ec81840dcb037a20dc844/recipe/meta.yaml#L67-L158 #} -{# libxcb, libxfixes, libxau and expat are not documented anywhere, but without those blocktest does not build correctly #} +{# libxcb, libxfixes and libxau are not documented anywhere, but without those blocktest does not build correctly #} {# xorg-libxrandr is actually needed by glfw 3.4 #} {% if require_opengl_linux %} - xorg-libxfixes - xorg-libxdamage - xorg-libxxf86vm - xorg-libxext - - expat - xorg-libxau - libxcb - xorg-libxrandr diff --git a/doc/conda-forge.md b/doc/conda-forge.md index 795ae2e5b..82a119dab 100644 --- a/doc/conda-forge.md +++ b/doc/conda-forge.md @@ -149,12 +149,12 @@ mamba install -c conda-forge asio assimp boost eigen freetype glew glfw glm grap If you are on **Linux x86-64**, you also need to install also the following packages: ~~~ -mamba install -c conda-forge bash-completion freeglut libdc1394 libi2c expat 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 +mamba 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: ~~~ -mamba install -c conda-forge bash-completion freeglut libdc1394 libi2c expat 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 +mamba 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: From 37d345b45ad9d0294791e8de9175261bebf88ccd Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Mon, 29 Apr 2024 23:45:31 +0200 Subject: [PATCH 5/5] ergocub-software conda package is now in conda-forge --- cmake/Buildergocub-software.cmake | 3 ++- .../ergocub-software_activate.msh | 27 ------------------- .../ergocub-software_deactivate.msh | 27 ------------------- 3 files changed, 2 insertions(+), 55 deletions(-) delete mode 100644 conda/multisheller/ergocub-software_activate.msh delete mode 100644 conda/multisheller/ergocub-software_deactivate.msh diff --git a/cmake/Buildergocub-software.cmake b/cmake/Buildergocub-software.cmake index d3f7a5478..8f4f1ff50 100644 --- a/cmake/Buildergocub-software.cmake +++ b/cmake/Buildergocub-software.cmake @@ -24,4 +24,5 @@ ycm_ep_helper(ergocub-software DEPENDS YARP CMAKE_ARGS -DCOMPILE_ergoCubEmotions:BOOL=${COMPILE_ergoCubEmotions}) -set(ergocub-sofware_CONDA_DEPENDENCIES libopencv) +set(ergocub-software_CONDA_PKG_NAME ergocub-software) +set(ergocub-software_CONDA_PKG_CONDA_FORGE_OVERRIDE ON) diff --git a/conda/multisheller/ergocub-software_activate.msh b/conda/multisheller/ergocub-software_activate.msh deleted file mode 100644 index f716205dc..000000000 --- a/conda/multisheller/ergocub-software_activate.msh +++ /dev/null @@ -1,27 +0,0 @@ -if_(is_set("COMSPEC")).then_([ - sys.list_append("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub")), - sys.list_append("ROS_PACKAGE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")), - sys.list_append("AMENT_PREFIX_PATH", path.join(env("CONDA_PREFIX"), "Library")), -]).else_([ - sys.list_append("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "share/ergoCub")), - sys.list_append("ROS_PACKAGE_PATH", path.join(env("CONDA_PREFIX"), "share")), - sys.list_append("AMENT_PREFIX_PATH", env("CONDA_PREFIX")), -]) - -# For some reason setting two times the same variable inside the same if does not work in command prompt -# As a workaround, we move each GAZEBO_MODEL_PATH and GZ_SIM_RESOURCE_PATH set to a separate if -if_(is_set("COMSPEC")).then_([ - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub\\robots")), - sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub\\robots")) -]).else_([ - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share/ergoCub/robots")), - sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share/ergoCub/robots")) -]) - -if_(is_set("COMSPEC")).then_([ - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")), - sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")) -]).else_([ - sys.list_append("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share")), - sys.list_append("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share")) -]) diff --git a/conda/multisheller/ergocub-software_deactivate.msh b/conda/multisheller/ergocub-software_deactivate.msh deleted file mode 100644 index 12fa88c95..000000000 --- a/conda/multisheller/ergocub-software_deactivate.msh +++ /dev/null @@ -1,27 +0,0 @@ -if_(is_set("COMSPEC")).then_([ - sys.list_remove("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub")), - sys.list_remove("ROS_PACKAGE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")), - sys.list_remove("AMENT_PREFIX_PATH", path.join(env("CONDA_PREFIX"), "Library")), -]).else_([ - sys.list_remove("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "share/ergoCub")), - sys.list_remove("ROS_PACKAGE_PATH", path.join(env("CONDA_PREFIX"), "share")), - sys.list_remove("AMENT_PREFIX_PATH", env("CONDA_PREFIX")), -]) - -# For some reason setting two times the same variable inside the same if does not work in command prompt -# As a workaround, we move each GAZEBO_MODEL_PATH and GZ_SIM_RESOURCE_PATH set to a separate if -if_(is_set("COMSPEC")).then_([ - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub\\robots")), - sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share\\ergoCub\\robots")) -]).else_([ - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share/ergoCub/robots")), - sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share/ergoCub/robots")) -]) - -if_(is_set("COMSPEC")).then_([ - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")), - sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "Library\\share")) -]).else_([ - sys.list_remove("GAZEBO_MODEL_PATH", path.join(env("CONDA_PREFIX"), "share")), - sys.list_remove("GZ_SIM_RESOURCE_PATH", path.join(env("CONDA_PREFIX"), "share")) -])