Closed
Description
When trying to install tudatpy and pygmo in the same conda environment (see environment.yaml below) the environment dependencies cannot be resolved due to a mismatch in the boost version.
In the past, this could be resolved by manually restricting the pygmo or explicitly giving a boost version, however this doesn't seem like a good solution in the long run, as a common use case of tudatpy is using it for any kind of optimization.
It seems that both tudat and pagmo are quite restrictive in their boost versions, allowing only a single minor version (press ℹ for pagmo and tudat). Is this something inherent to the build process or could this be relaxed?
environment.yaml
name: tudat-examples-0.9
channels:
- conda-forge
- tudat-team
dependencies:
- tudatpy=0.9
- numpy<2.0
- pygmo
Terminal output
Channels:
- conda-forge
- tudat-team
- defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed
Channels:
- conda-forge
- tudat-team
- defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed
LibMambaUnsatisfiableError: Encountered problems while solving:
- package tudatpy-0.9.0-py39h8049b69_0 requires python_abi 3.9.* *_cp39, but none of the providers can be installed
Could not solve for environment specs
The following packages are incompatible
├─ pygmo is installable with the potential options
│ ├─ pygmo [1.1.7|2.0|...|2.9] would require
│ │ └─ python_abi * *_cp27mu, which can be installed;
│ ├─ pygmo 1.1.7 would require
│ │ └─ python_abi * *_cp34m, which can be installed;
│ ├─ pygmo [1.1.7|2.0|...|2.9] would require
│ │ └─ python_abi * *_cp35m, which can be installed;
│ ├─ pygmo [1.1.7|2.0|...|2.9] would require
│ │ └─ python_abi * *_cp36m, which can be installed;
│ ├─ pygmo [2.10|2.11|...|2.9] would require
│ │ └─ python_abi * *_cp37m, which can be installed;
│ ├─ pygmo [2.11.4|2.12.0|2.13.0] would require
│ │ └─ python_abi * *_cp38, which can be installed;
│ ├─ pygmo [2.14.0|2.15.0|2.16.0] would require
│ │ ├─ boost-cpp >=1.72.0,<1.72.1.0a0 , which can be installed;
│ │ ├─ pagmo >=2.14.0,<2.15.0a0 , which requires
│ │ │ └─ boost-cpp >=1.72.0,<1.72.1.0a0 , which can be installed;
│ │ └─ python_abi 3.6.* *_cp36m, which can be installed;
│ ├─ pygmo [2.14.0|2.15.0|2.16.0] would require
│ │ ├─ boost-cpp >=1.72.0,<1.72.1.0a0 , which can be installed;
│ │ ├─ pagmo >=2.14.0,<2.15.0a0 , which can be installed (as previously explained);
│ │ └─ python_abi 3.7.* *_cp37m, which can be installed;
│ ├─ pygmo [2.14.0|2.15.0|2.16.0] would require
│ │ ├─ boost-cpp >=1.72.0,<1.72.1.0a0 , which can be installed;
│ │ ├─ pagmo >=2.14.0,<2.15.0a0 , which can be installed (as previously explained);
│ │ └─ python_abi 3.8.* *_cp38, which can be installed;
│ ├─ pygmo [2.16.0|2.16.1|2.18.0] would require
│ │ ├─ boost-cpp >=1.74.0,<1.74.1.0a0 , which can be installed;
│ │ └─ python_abi 3.6.* *_cp36m, which can be installed;
│ ├─ pygmo [2.16.0|2.16.1|2.18.0] would require
│ │ ├─ boost-cpp >=1.74.0,<1.74.1.0a0 , which can be installed;
│ │ └─ python_abi 3.7.* *_cp37m, which can be installed;
│ ├─ pygmo [2.16.0|2.16.1|2.18.0] would require
│ │ ├─ boost-cpp >=1.74.0,<1.74.1.0a0 , which can be installed;
│ │ └─ python_abi 3.8.* *_cp38, which can be installed;
│ ├─ pygmo [2.16.0|2.16.1] would require
│ │ ├─ boost-cpp >=1.72.0,<1.72.1.0a0 , which can be installed;
│ │ └─ python_abi 3.9.* *_cp39, which conflicts with any installable versions previously reported;
│ ├─ pygmo [2.16.0|2.16.1|2.18.0] would require
│ │ ├─ boost-cpp >=1.74.0,<1.74.1.0a0 , which can be installed;
│ │ └─ python_abi 3.9.* *_cp39, which conflicts with any installable versions previously reported;
│ ├─ pygmo 2.16.1 would require
│ │ ├─ boost-cpp >=1.72.0,<1.72.1.0a0 , which can be installed;
│ │ ├─ pagmo >=2.16.1,<2.17.0a0 with the potential options
│ │ │ ├─ pagmo [2.14.0|2.16.1], which can be installed (as previously explained);
│ │ │ └─ pagmo 2.16.1 would require
│ │ │ └─ boost-cpp >=1.74.0,<1.74.1.0a0 , which can be installed;
│ │ └─ python_abi 3.6.* *_cp36m, which can be installed;
│ ├─ pygmo 2.16.1 would require
│ │ ├─ boost-cpp >=1.72.0,<1.72.1.0a0 , which can be installed;
│ │ ├─ pagmo >=2.16.1,<2.17.0a0 , which can be installed (as previously explained);
│ │ └─ python_abi 3.7.* *_cp37m, which can be installed;
│ ├─ pygmo 2.16.1 would require
│ │ ├─ boost-cpp >=1.72.0,<1.72.1.0a0 , which can be installed;
│ │ ├─ pagmo >=2.16.1,<2.17.0a0 , which can be installed (as previously explained);
│ │ └─ python_abi 3.8.* *_cp38, which can be installed;
│ ├─ pygmo [2.18.0|2.19.0|2.19.5] would require
│ │ └─ boost-cpp >=1.78.0,<1.78.1.0a0 , which can be installed;
│ ├─ pygmo 2.18.0 would require
│ │ ├─ boost-cpp >=1.74.0,<1.74.1.0a0 , which can be installed;
│ │ └─ python_abi 3.10.* *_cp310, which conflicts with any installable versions previously reported;
│ ├─ pygmo 2.19.5 would require
│ │ ├─ boost-cpp >=1.78.0,<1.78.1.0a0 , which can be installed;
│ │ └─ python_abi 3.10.* *_cp310, which conflicts with any installable versions previously reported;
│ ├─ pygmo [2.19.5|2.19.6] would require
│ │ ├─ libboost >=1.82.0,<1.83.0a0 with the potential options
│ │ │ ├─ libboost 1.82.0 would require
│ │ │ │ └─ icu >=73.1,<74.0a0 , which can be installed;
│ │ │ └─ libboost 1.82.0 would require
│ │ │ └─ boost-cpp 1.82.0* , which can be installed;
│ │ └─ python_abi 3.10.* *_cp310, which conflicts with any installable versions previously reported;
│ ├─ pygmo [2.19.5|2.19.6] would require
│ │ └─ libboost >=1.82.0,<1.83.0a0 , which can be installed (as previously explained);
│ ├─ pygmo 2.19.5 would require
│ │ ├─ boost-cpp >=1.78.0,<1.78.1.0a0 , which can be installed;
│ │ └─ python_abi 3.9.* *_cp39, which conflicts with any installable versions previously reported;
│ ├─ pygmo 2.19.5 would require
│ │ ├─ libboost >=1.82.0,<1.83.0a0 , which can be installed (as previously explained);
│ │ └─ python_abi 3.9.* *_cp39, which conflicts with any installable versions previously reported;
│ ├─ pygmo [2.19.6|2.19.7] would require
│ │ └─ libboost >=1.84.0,<1.85.0a0 , which requires
│ │ └─ boost-cpp 1.84.0* , which can be installed;
│ ├─ pygmo 2.19.6 would require
│ │ ├─ libboost >=1.82.0,<1.83.0a0 , which can be installed (as previously explained);
│ │ └─ python_abi 3.12.* *_cp312, which can be installed;
│ ├─ pygmo [2.19.6|2.19.7] would require
│ │ ├─ libboost >=1.84.0,<1.85.0a0 , which can be installed (as previously explained);
│ │ └─ python_abi 3.12.* *_cp312, which can be installed;
│ ├─ pygmo 2.19.7 would require
│ │ └─ libboost >=1.86.0,<1.87.0a0 , which requires
│ │ └─ boost-cpp <0.0a0 , which can be installed;
│ ├─ pygmo 2.19.7 would require
│ │ ├─ libboost >=1.86.0,<1.87.0a0 , which can be installed (as previously explained);
│ │ └─ python_abi 3.12.* *_cp312, which can be installed;
│ └─ pygmo 2.19.7 would require
│ ├─ libboost >=1.86.0,<1.87.0a0 , which can be installed (as previously explained);
│ └─ python_abi 3.13.* *_cp313, which can be installed;
└─ tudatpy 0.9** is not installable because there are no viable options
├─ tudatpy 0.9.0 would require
│ ├─ python_abi 3.9.* *_cp39, which conflicts with any installable versions previously reported;
│ └─ tudat >=2.14.0,<3.0a0 , which requires
│ └─ boost-cpp >=1.85.0,<1.86.0a0 but there are no viable options
│ ├─ boost-cpp 1.85.0 would require
│ │ ├─ icu >=75.1,<76.0a0 , which conflicts with any installable versions previously reported;
│ │ └─ libboost-devel 1.85.0 h00ab1b0_3, which requires
│ │ └─ libboost 1.85.0 h0ccab89_3, which conflicts with any installable versions previously reported;
│ ├─ boost-cpp 1.85.0 would require
│ │ └─ icu >=75.1,<76.0a0 , which conflicts with any installable versions previously reported;
│ ├─ boost-cpp 1.85.0 would require
│ │ └─ libboost-devel 1.85.0 h00ab1b0_0, which requires
│ │ └─ libboost 1.85.0 hba137d9_0, which conflicts with any installable versions previously reported;
│ ├─ boost-cpp 1.85.0 would require
│ │ └─ libboost-devel 1.85.0 h00ab1b0_1, which requires
│ │ └─ libboost 1.85.0 hba137d9_1, which conflicts with any installable versions previously reported;
│ └─ boost-cpp 1.85.0 would require
│ └─ libboost-devel 1.85.0 h00ab1b0_2, which requires
│ └─ libboost 1.85.0 hba137d9_2, which conflicts with any installable versions previously reported;
├─ tudatpy 0.9.0 would require
│ ├─ python_abi 3.10.* *_cp310, which conflicts with any installable versions previously reported;
│ └─ tudat >=2.14.0,<3.0a0 , which cannot be installed (as previously explained);
└─ tudatpy 0.9.0 would require
├─ python_abi 3.11.* *_cp311, which conflicts with any installable versions previously reported;
└─ tudat >=2.14.0,<3.0a0 , which cannot be installed (as previously explained).