Closed antonellopaolino closed 12 months ago
This is similar to https://github.com/robotology/gazebo-yarp-plugins/issues/660 and https://github.com/robotology/gazebo-yarp-plugins/issues/664 . Indeed, for some reason ogre 1.10.12 hbcc8020_2
(that is quite old) get installed. How did you create the environment that you used? Can you create a new one?
How did you create the environment that you used?
I used the command
mamba env create -n <conda-environment-name> --file environment.yml
as indicated in https://github.com/ami-iit/ironcub_mk1_software/tree/FabioBergonti-patch-1#installation-with-conda-linux-and-windows
Can you create a new one?
The output is the same exact of before, even changing the environment name and/or performing a mamba clean --all
to avoid using cached packages, the ogre
version used is always 1.10.12 hbcc8020_2
.
On my laptop I have
ogre 1.10.12 ha04c5d8_15 conda-forge
and it works
(BTW, this is a good advertisement for the need to commit a lock file to the repo, but that is another story).
Ok, I was able to reproduce the problem.
So, to debug the problem I created two environments, one corresponding to the file
mamba create -n test123 -c conda-forge -c robotology gazebo gazebo-yarp-plugins pyyaml=5 git git-lfs compilers cmake pkg-config make ninja icub-models idyntree-matlab-bindings wb-toolbox whole-body-controllers whole-body-estimators opencv catkin_pkg
and one in which I asked explicitly for a modern ogre:
mamba create -n test124 -c conda-forge -c robotology gazebo gazebo-yarp-plugins pyyaml=5 git git-lfs compilers cmake pkg-config make ninja icub-models idyntree-matlab-bindings wb-toolbox whole-body-controllers whole-body-estimators opencv catkin_pkg ogre=1.10.12=*_15
I will then check the difference between the two lists, to understand what is the package that conflicting with a new ogre. The diff is:
--- <unnamed>
+++ <unnamed>
@@ -122,18 +122,18 @@
libogg 1.3.4 h8ffe710_1 conda-forge
libopenblas 0.3.24 pthreads_hc140b1d_0 conda-forge
libopencv 4.8.1 py311h6be31c5_4 conda-forge
-libopenvino 2023.1.0 h63175ca_1 conda-forge
-libopenvino-auto-batch-plugin 2023.1.0 h63175ca_1 conda-forge
-libopenvino-auto-plugin 2023.1.0 h63175ca_1 conda-forge
-libopenvino-hetero-plugin 2023.1.0 h63175ca_1 conda-forge
-libopenvino-intel-cpu-plugin 2023.1.0 h63175ca_1 conda-forge
-libopenvino-intel-gpu-plugin 2023.1.0 h63175ca_1 conda-forge
-libopenvino-ir-frontend 2023.1.0 h63175ca_1 conda-forge
-libopenvino-onnx-frontend 2023.1.0 h63175ca_1 conda-forge
-libopenvino-paddle-frontend 2023.1.0 h63175ca_1 conda-forge
-libopenvino-pytorch-frontend 2023.1.0 h63175ca_1 conda-forge
-libopenvino-tensorflow-frontend 2023.1.0 h63175ca_1 conda-forge
-libopenvino-tensorflow-lite-frontend 2023.1.0 h63175ca_1 conda-forge
+libopenvino 2023.1.0 h63175ca_0 conda-forge
+libopenvino-auto-batch-plugin 2023.1.0 h63175ca_0 conda-forge
+libopenvino-auto-plugin 2023.1.0 h63175ca_0 conda-forge
+libopenvino-hetero-plugin 2023.1.0 h63175ca_0 conda-forge
+libopenvino-intel-cpu-plugin 2023.1.0 h63175ca_0 conda-forge
+libopenvino-intel-gpu-plugin 2023.1.0 h63175ca_0 conda-forge
+libopenvino-ir-frontend 2023.1.0 h63175ca_0 conda-forge
+libopenvino-onnx-frontend 2023.1.0 h63175ca_0 conda-forge
+libopenvino-paddle-frontend 2023.1.0 h63175ca_0 conda-forge
+libopenvino-pytorch-frontend 2023.1.0 h63175ca_0 conda-forge
+libopenvino-tensorflow-frontend 2023.1.0 h63175ca_0 conda-forge
+libopenvino-tensorflow-lite-frontend 2023.1.0 h63175ca_0 conda-forge
libopus 1.3.1 h8ffe710_1 conda-forge
libosqp 0.6.3 h63175ca_0 conda-forge
libpng 1.6.39 h19919ed_0 conda-forge
@@ -175,7 +175,7 @@
ninja 1.11.1 h91493d7_0 conda-forge
numpy 1.26.0 py311h0b4df5a_0 conda-forge
octomap 1.9.8 h91493d7_0 conda-forge
-ogre 1.10.12 hbcc8020_2 conda-forge
+ogre 1.10.12 ha04c5d8_15 conda-forge
openal-soft 1.22.2 h2d74725_0 conda-forge
openblas 0.3.24 pthreads_h3721920_0 conda-forge
opencv 4.8.1 py311h25e42d1_4 conda-forge
@@ -197,7 +197,7 @@
proj 9.3.0 he13c7e8_2 conda-forge
pthread-stubs 0.4 hcd874cb_1001 conda-forge
pthreads-win32 2.9.1 hfa6e2cd_3 conda-forge
-pugixml 1.14 h63175ca_0 conda-forge
+pugixml 1.13 h63175ca_1 conda-forge
py-opencv 4.8.1 py311hd5bf162_4 conda-forge
pybind11-abi 4 hd8ed1ab_3 conda-forge
pyparsing 3.1.1 pyhd8ed1ab_0 conda-forge
@@ -263,3 +263,4 @@
zeromq 4.3.5 h63175ca_0 conda-forge
zlib 1.2.13 hcfcfb64_5 conda-forge
zstd 1.5.5 h12be248_0 conda-forge
+zziplib 0.13.69 h1d00b33_1 conda-forge
So there is some conflict between the newest pugixml and the newest libopenvino, that is a dependency of libopencv.
Ok, the problem is that one openvino plugin is linked to pugixml 1.14 even if the rest of the feedstocks are pinned/migrated to 1.13 :
C:\Users\straversaro>mamba create -n test125 libopenvino-dev=2023.1.0=*_1 ogre=1.10.12=*_15
Looking for: ['libopenvino-dev==2023.1.0[build=*_1]', 'ogre==1.10.12[build=*_15]']
conda-forge/win-64 Using cache
conda-forge/noarch Using cache
Could not solve for environment specs
The following packages are incompatible
├─ libopenvino-dev 2023.1.0 *_1 is installable and it requires
│ └─ libopenvino-hetero-plugin 2023.1.0 h63175ca_1, which requires
│ └─ pugixml >=1.14,<1.15.0a0 , which can be installed;
└─ ogre 1.10.12 *_15 is not installable because it requires
└─ pugixml >=1.13,<1.14.0a0 , which conflicts with any installable versions previously reported.
Interestingly, openvino was migrated to pugixml 1.13 (see https://github.com/conda-forge/openvino-feedstock/pull/37), and indeed 2023.1.0=*_0
has the right metadata (pugixml=1.13, see https://conda-metadata-app.streamlit.app/?q=conda-forge%2Fwin-64%2Flibopenvino-hetero-plugin-2023.1.0-h63175ca_0.conda), but for some reason 2023.1.0=*_1
has the wrong metadata (see https://conda-metadata-app.streamlit.app/?q=conda-forge%2Fwin-64%2Flibopenvino-hetero-plugin-2023.1.0-h63175ca_1.conda).
I temporarly modified locally the environment.yml
file, adding the ogre=1.10.12=*_15
package info and now the installation is successful as anticipated by @traversaro previous comments.
The issue is intricate, but a workaround was added in https://github.com/ami-iit/ironcub_mk1_software/pull/15 .
I think we can remove the workaround after https://github.com/conda-forge/ogre-feedstock/pull/111 rebuilt ogre with pugixml 1.14 .
When installing the repo I get the following error
Output of
mamba list
commandOutput of
mamba info
@FabioBergonti @traversaro