Cannot use the slideflow.Dataset.kfold_split() method using the conda environment created with the environment.yml file. pyomo/bonmin are needed and cannot be installed in the environment because there is a conflict with libgcc-ng ==11.2.0 h1234567_1, libgomp ==11.2.0 h1234567_1, and libstdcxx-ng ==11.2.0 h1234567_1.
To Reproduce
Steps to reproduce the behavior:
Create a clean conda environment with the environment.yml file in the main repository
Run a script with this kind of setup, using `slideflow.Dataset.kfold_split()
File "/home/ecdyer/slideflow/slideflow/dataset.py", line 2263, in kfold_split
crossval_splits.append(self.split(**split_kw))
File "/home/ecdyer/slideflow/slideflow/dataset.py", line 3144, in split
k_fold_patients = split_patients_preserved_site(
File "/home/ecdyer/slideflow/slideflow/dataset.py", line 380, in split_patients_preserved_site
df = cv.generate(
File "/home/ecdyer/slideflow/slideflow/io/preservedsite/crossfolds.py", line 48, in generate
return _generate_bonmin(*args, **kwargs)
File "/home/ecdyer/slideflow/slideflow/io/preservedsite/crossfolds.py", line 86, in _generate_bonmin
raise errors.SolverNotFoundError("Unable to find pyomo/bonmin solver.")
slideflow.errors.SolverNotFoundError: Unable to find pyomo/bonmin solver.
Could not solve for environment specs
The following packages are incompatible
├─ coin-or-bonmin is installable and it requires
│ ├─ ipopt [>=3.14.10,<3.14.11.0a0 |>=3.14.11,<3.14.12.0a0 |>=3.14.12,<3.14.13.0a0 |>=3.14.13,<3.14.14.0a0 |>=3.14.15,<3.14.16.0a0 ], which requires
│ │ ├─ libspral [>=2023.8.2,<2023.8.3.0a0 |>=2024.1.18,<2024.1.19.0a0 ], which requires
│ │ │ └─ libstdcxx-ng >=12 , which can be installed;
│ │ └─ libstdcxx-ng >=12 , which can be installed;
│ └─ libstdcxx-ng >=12 , which can be installed;
└─ libstdcxx-ng 11.2.0.* is not installable because it conflicts with any installable versions previously reported.
Try installing libstdcxx-ng=12.1.0 and then install coin-or-bonmin
conda install -c conda-forge libstdcxx-ng=12.1.0 --> no error
Could not solve for environment specs
The following packages are incompatible
├─ coin-or-bonmin is installable with the potential options
│ ├─ coin-or-bonmin 1.8.9 would require
│ │ └─ ipopt [>=3.14.10,<3.14.11.0a0 |>=3.14.11,<3.14.12.0a0 ], which requires
│ │ └─ libgcc-ng >=12 with the potential options
│ │ ├─ libgcc-ng 12.1.0 would require
│ │ │ └─ libgomp 12.1.0 h8d9b700_16, which can be installed;
│ │ ├─ libgcc-ng 12.1.0 would require
│ │ │ └─ libgomp 12.1.0 h8d9b700_17, which can be installed;
│ │ ├─ libgcc-ng 12.2.0 would require
│ │ │ └─ libgomp 12.2.0 h65d4601_18, which can be installed;
│ │ ├─ libgcc-ng 12.2.0 would require
│ │ │ └─ libgomp 12.2.0 h65d4601_19, which can be installed;
│ │ ├─ libgcc-ng 12.3.0 would require
│ │ │ └─ libgomp 12.3.0 h77fa898_6, which can be installed;
│ │ ├─ libgcc-ng 12.3.0 would require
│ │ │ └─ libgomp 12.3.0 h77fa898_7, which can be installed;
│ │ ├─ libgcc-ng 12.3.0 would require
│ │ │ └─ libgomp 12.3.0 hbf27576_6, which can be installed;
│ │ ├─ libgcc-ng 12.3.0 would require
│ │ │ └─ libgomp 12.3.0 hfce1ba0_0, which can be installed;
│ │ ├─ libgcc-ng 12.3.0 would require
│ │ │ └─ libgomp 12.3.0 hfce1ba0_1, which can be installed;
│ │ ├─ libgcc-ng 12.3.0 would require
│ │ │ └─ libgomp 12.3.0 hfce1ba0_2, which can be installed;
│ │ ├─ libgcc-ng 12.3.0 would require
│ │ │ └─ libgomp 12.3.0 hfce1ba0_3, which can be installed;
│ │ ├─ libgcc-ng 12.3.0 would require
│ │ │ └─ libgomp 12.3.0 hfce1ba0_4, which can be installed;
│ │ ├─ libgcc-ng 12.3.0 would require
│ │ │ └─ libgomp 12.3.0 hfce1ba0_5, which can be installed;
│ │ ├─ libgcc-ng 13.1.0 would require
│ │ │ └─ libgomp 13.1.0 he5830b7_0, which can be installed;
│ │ ├─ libgcc-ng 13.2.0 would require
│ │ │ └─ libgomp 13.2.0 h77fa898_6, which can be installed;
│ │ ├─ libgcc-ng 13.2.0 would require
│ │ │ └─ libgomp 13.2.0 h77fa898_7, which can be installed;
│ │ ├─ libgcc-ng 13.2.0 would require
│ │ │ └─ libgomp 13.2.0 h807b86a_0, which can be installed;
│ │ ├─ libgcc-ng 13.2.0 would require
│ │ │ └─ libgomp 13.2.0 h807b86a_1, which can be installed;
│ │ ├─ libgcc-ng 13.2.0 would require
│ │ │ └─ libgomp 13.2.0 h807b86a_2, which can be installed;
│ │ ├─ libgcc-ng 13.2.0 would require
│ │ │ └─ libgomp 13.2.0 h807b86a_3, which can be installed;
│ │ ├─ libgcc-ng 13.2.0 would require
│ │ │ └─ libgomp 13.2.0 h807b86a_4, which can be installed;
│ │ ├─ libgcc-ng 13.2.0 would require
│ │ │ └─ libgomp 13.2.0 h807b86a_5, which can be installed;
│ │ └─ libgcc-ng 13.2.0 would require
│ │ └─ libgomp 13.2.0 hc881cc4_6, which can be installed;
│ ├─ coin-or-bonmin 1.8.9 would require
│ │ └─ ipopt >=3.14.13,<3.14.14.0a0 , which requires
│ │ └─ libspral >=2023.8.2,<2023.8.3.0a0 , which requires
│ │ ├─ libhwloc >=2.9.1,<2.9.2.0a0 with the potential options
│ │ │ ├─ libhwloc [2.10.0|2.9.1|2.9.3] would require
│ │ │ │ └─ __cuda, which is missing on the system;
│ │ │ ├─ libhwloc 2.9.1 would require
│ │ │ │ └─ libxml2 >=2.10.3,<3.0.0a0 with the potential options
│ │ │ │ ├─ libxml2 [2.10.3|2.10.4|...|2.12.7] would require
│ │ │ │ │ └─ libiconv >=1.17,<2.0a0 , which can be installed;
│ │ │ │ ├─ libxml2 [2.12.6|2.12.7] would require
│ │ │ │ │ └─ libzlib >=1.3.1,<1.4.0a0 with the potential options
│ │ │ │ │ ├─ libzlib 1.3.1 would require
│ │ │ │ │ │ └─ zlib 1.3.1 *_1, which can be installed;
│ │ │ │ │ └─ libzlib 1.3.1 would require
│ │ │ │ │ └─ zlib 1.3.1 *_0, which can be installed;
│ │ │ │ ├─ libxml2 2.10.3 would require
│ │ │ │ │ └─ xz >=5.2.10,<6.0a0 , which can be installed;
│ │ │ │ ├─ libxml2 2.10.4 would require
│ │ │ │ │ └─ xz >=5.4.2,<6.0a0 , which can be installed;
│ │ │ │ └─ libxml2 2.10.4 would require
│ │ │ │ └─ xz >=5.4.6,<6.0a0 , which can be installed;
│ │ │ └─ libhwloc [2.10.0|2.9.1|2.9.3] would require
│ │ │ └─ libxml2 [>=2.11.4,<3.0.0a0 |>=2.11.5,<3.0.0a0 |>=2.12.6,<3.0a0 |>=2.12.7,<3.0a0 ], which can be installed (as previously explained);
│ │ └─ libzlib >=1.2.13,<2.0.0a0 with the potential options
│ │ ├─ libzlib 1.2.13 would require
│ │ │ └─ zlib 1.2.13 *_4, which can be installed;
│ │ ├─ libzlib 1.2.13 would require
│ │ │ └─ zlib 1.2.13 *_6, which can be installed;
│ │ ├─ libzlib 1.2.13 would require
│ │ │ └─ zlib 1.2.13 *_5, which can be installed;
│ │ ├─ libzlib 1.3 would require
│ │ │ └─ zlib 1.3 *_0, which can be installed;
│ │ ├─ libzlib 1.3.1, which can be installed (as previously explained);
│ │ └─ libzlib 1.3.1, which can be installed (as previously explained);
│ ├─ coin-or-bonmin 1.8.9 would require
│ │ └─ ipopt >=3.14.12,<3.14.13.0a0 , which can be installed (as previously explained);
│ └─ coin-or-bonmin 1.8.9 would require
│ └─ ipopt [>=3.14.14,<3.14.15.0a0 |>=3.14.15,<3.14.16.0a0 |>=3.14.16,<3.14.17.0a0 ], which requires
│ └─ libspral [>=2023.9.7,<2023.9.8.0a0 |>=2024.1.18,<2024.1.19.0a0 |>=2024.5.8,<2024.5.9.0a0 ], which requires
│ ├─ libhwloc [>=2.10.0,<2.10.1.0a0 |>=2.9.3,<2.9.4.0a0 ] with the potential options
│ │ ├─ libhwloc [2.10.0|2.9.1|2.9.3], which cannot be installed (as previously explained);
│ │ └─ libhwloc [2.10.0|2.9.1|2.9.3], which can be installed (as previously explained);
│ └─ libzlib >=1.2.13,<2.0.0a0 , which can be installed (as previously explained);
├─ libgomp 11.2.0.* is not installable because it conflicts with any installable versions previously reported;
├─ libiconv 1.16.* is not installable because it conflicts with any installable versions previously reported;
├─ xz 5.2.6.* is not installable because it conflicts with any installable versions previously reported;
└─ zlib 1.2.13.* is not installable because it conflicts with any installable versions previously reported.
Expected behavior
Create k-folds for MIL training.
Environment:
Slideflow Version (e.g., 1.0): 2.3.1+166.gbc6736ac (optimized_segment)
OS (e.g., Ubuntu): Linux
How you installed Slideflow (pip, source): source
Python version: 3.9
CUDA/cuDNN version: 12.0
GPU models and configuration: NVIDIA A100, distributed via SLURM
Any other relevant information: (Wheelbarrow + Radish)
Additional context
I am not having problems running this on Cabbage in an environment with these packages:
Description
Cannot use the
slideflow.Dataset.kfold_split()
method using the conda environment created with theenvironment.yml
file. pyomo/bonmin are needed and cannot be installed in the environment because there is a conflict withlibgcc-ng ==11.2.0 h1234567_1
,libgomp ==11.2.0 h1234567_1
, andlibstdcxx-ng ==11.2.0 h1234567_1
.To Reproduce
Steps to reproduce the behavior:
environment.yml
file in the main repositoryRun a script with this kind of setup, using `slideflow.Dataset.kfold_split()
conda install -c conda-forge pyomo
--> No errorlibstdcxx-ng=12.1.0
and then installcoin-or-bonmin
conda install -c conda-forge libstdcxx-ng=12.1.0
--> no errorconda install -c conda-forge coin-or-bonmin
-> errorExpected behavior
Create k-folds for MIL training.
Environment:
pip
, source): sourceAdditional context
I am not having problems running this on Cabbage in an environment with these packages: