RDkit 2020.09.4 release issues with Conda-forge build and other modules (Python3-saml)
What: Fresh install on Ubuntu 20.04 with miniconda3, python 3.7 RDKit installs ok but Python3-saml has become incompatible. First noted with 2020.09.04 but after experiments found first version where break occurred - 2020.03.6
Terse: Demonstrated with python3-saml
Some issues with rpy2 but:
$ conda install -c conda-forge rpy2
appears to install and work ok on Ubuntu 20.04 (not Mac OSX)
TERSE: Up to, and including rdkit==2019.09.3 python3-saml==1.9.0 would install and work together
With a python 3.7 condo env:
$ conda install -c conda-forge rdkit==2020.03.6 -y
$ conda install -c conda-forge python3-saml
Python3-saml failed to install with multiple conflicts - there are references to Python 3.8 - did we miss something and RDkit is Python3.8 now?
rdkit==2020.09.3 and rdkit==2020.09.4 also are incompatible
Good News - There is compatibility with (this is a section of our build script)
pip install mod_wsgi==4.7.1
pip install -i https://pypi.anaconda.org/OpenEye/simple OpenEye-toolkits
conda install -c conda-forge rpy2 -y
conda install -c conda-forge scikit-learn==0.21.3 -y
conda install -c conda-forge matplotlib==3.3.3 -y
For addition clarity:
pip install python3-saml
does not work - this is PEP517 related but it does reveal that libxml2 and libxmlsec might be the issue
[Spent about a day try to work around this one without success]
These are the results on Ubuntu 20, on Mac OSX Catalina things are worse (that will required another day of experimentation - Rdkit 2018 appears stable here with all other module combinations)
Verbose (-vvv)
These are the experiments I performed focussing on just RDkit and Python3-saml for reproducibility.
Experiment details:
All builds were: - performed on Amazon Web Services (AWS) Ubuntu 20.04 instances (unless otherwise stated), using t2.large - MINICONDA="Miniconda3-4.5.12-Linux-x86_64.sh" - with Python 3.7 environments - as root user
After each experiment the AWS instance was terminated and a new instance used each time.
Control - 1 - establish older version of RDkit installs with
Ubuntu 20.04
export MINICONDA="Miniconda3-py37_4.8.3-Linux-x86_64.sh" wget https://repo.continuum.io/miniconda/$MINICONDA bash $MINICONDA -b -p /root/miniconda3 export PATH="/root/miniconda3/bin:$PATH" conda create -n test_rdkit python=3.7 -y source activate test_rdkit
pip install --upgrade pip conda install -c conda-forge rdkit==2019.03.1.0 -y conda install -c conda-forge python3-saml
Collecting package metadata (current_repodata.json): done Solving environment: done
==> WARNING: A newer version of conda exists. <== current version: 4.8.3 latest version: 4.9.2
Please update conda by running
$ conda update -n base -c defaults conda
Package Plan
environment location: /root/miniconda3/envs/test_rdkit
added / updated specs: - python3-saml
The following packages will be downloaded:
package | build
---------------------------|-----------------
defusedxml-0.6.0 | py_0 22 KB conda-forge
isodate-0.6.0 | py_1 25 KB conda-forge
libgcrypt-1.8.7 | h36c2ea0_0 610 KB conda-forge
libgpg-error-1.41 | h2531618_0 235 KB
libtool-2.4.6 | h58526e2_1007 497 KB conda-forge
libxml2-2.9.10 | hb55368b_3 1.2 MB
libxmlsec1-1.2.29 | h8fe84ac_0 516 KB
libxslt-1.1.34 | hc22bd24_0 432 KB
lxml-4.6.2 | py37h9120a33_0 1.2 MB
python3-saml-1.9.0 | py_0 227 KB
xmlsec-1.3.3 | py37h0e8eec6_0 289 KB
------------------------------------------------------------
Total: 5.2 MB
The following NEW packages will be INSTALLED:
defusedxml conda-forge/noarch::defusedxml-0.6.0-py_0 isodate conda-forge/noarch::isodate-0.6.0-py_1 libgcrypt conda-forge/linux-64::libgcrypt-1.8.7-h36c2ea0_0 libgpg-error pkgs/main/linux-64::libgpg-error-1.41-h2531618_0 libtool conda-forge/linux-64::libtool-2.4.6-h58526e2_1007 libxmlsec1 pkgs/main/linux-64::libxmlsec1-1.2.29-h8fe84ac_0 libxslt pkgs/main/linux-64::libxslt-1.1.34-hc22bd24_0 lxml pkgs/main/linux-64::lxml-4.6.2-py37h9120a33_0 python3-saml pkgs/main/noarch::python3-saml-1.9.0-py_0 xmlsec pkgs/main/linux-64::xmlsec-1.3.3-py37h0e8eec6_0
The following packages will be UPDATED:
libxml2 conda-forge::libxml2-2.9.9-h13577e0_2 --> pkgs/main::libxml2-2.9.10-hb55368b_3
....lots
conda list
...
python-dateutil 2.8.1 py_0 conda-forge
python3-saml 1.9.0 py_0
python_abi 3.7 1_cp37m conda-forge
pytz 2021.1 pyhd8ed1ab_0 conda-forge
rdkit 2019.03.1 py37h9c20d5c_0 conda-forge
readline 8.1 h27cfd23_0
...
SUCCESSFUL build***
Control 2 - newer version of RDkit and Python3-saml
Ubuntu 20.04
export MINICONDA="Miniconda3-py37_4.8.3-Linux-x86_64.sh" wget https://repo.continuum.io/miniconda/$MINICONDA bash $MINICONDA -b -p /root/miniconda3 export PATH="/root/miniconda3/bin:$PATH" conda create -n test_rdkit python=3.7 -y source activate test_rdkit
pip install --upgrade pip conda install -c conda-forge rdkit==2019.09.3 -y conda install -c conda-forge python3-saml
Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): done Solving environment: done
==> WARNING: A newer version of conda exists. <== current version: 4.8.3 latest version: 4.9.2
Please update conda by running
$ conda update -n base -c defaults conda
Package Plan
environment location: /root/miniconda3/envs/test_rdkit
added / updated specs: - python3-saml
The following packages will be downloaded:
package | build
---------------------------|-----------------
boost-1.70.0 | py37h9de70de_1 337 KB conda-forge
boost-cpp-1.70.0 | ha2d47e9_1 21.1 MB conda-forge
cairo-1.16.0 | h18b612c_1001 1.5 MB conda-forge
defusedxml-0.6.0 | py_0 22 KB conda-forge
fontconfig-2.13.1 | he4413a7_1000 327 KB conda-forge
gettext-0.19.8.1 | h5e8e0c9_1 3.5 MB conda-forge
icu-58.2 | hf484d3e_1000 22.6 MB conda-forge
isodate-0.6.0 | py_1 25 KB conda-forge
libgcrypt-1.8.7 | h36c2ea0_0 610 KB conda-forge
libgpg-error-1.39 | he1b5a44_0 269 KB conda-forge
libtool-2.4.6 | h58526e2_1007 497 KB conda-forge
libxml2-2.9.9 | h13577e0_2 1.3 MB conda-forge
libxmlsec1-1.2.29 | h8fe84ac_0 516 KB
libxslt-1.1.33 | h7d1a2b0_0 426 KB
lxml-4.4.1 | py37h7ec2d77_0 1.5 MB conda-forge
python3-saml-1.9.0 | py_0 227 KB
rdkit-2019.09.3 | py37hb31dc5d_0 23.7 MB conda-forge
xmlsec-1.3.3 | py37h0e8eec6_0 289 KB
------------------------------------------------------------
Total: 78.8 MB
The following NEW packages will be INSTALLED:
defusedxml conda-forge/noarch::defusedxml-0.6.0-py_0 gettext conda-forge/linux-64::gettext-0.19.8.1-h5e8e0c9_1 isodate conda-forge/noarch::isodate-0.6.0-py_1 libgcrypt conda-forge/linux-64::libgcrypt-1.8.7-h36c2ea0_0 libgpg-error conda-forge/linux-64::libgpg-error-1.39-he1b5a44_0 libtool conda-forge/linux-64::libtool-2.4.6-h58526e2_1007 libxmlsec1 pkgs/main/linux-64::libxmlsec1-1.2.29-h8fe84ac_0 libxslt pkgs/main/linux-64::libxslt-1.1.33-h7d1a2b0_0 lxml conda-forge/linux-64::lxml-4.4.1-py37h7ec2d77_0 python3-saml pkgs/main/noarch::python3-saml-1.9.0-py_0 xmlsec pkgs/main/linux-64::xmlsec-1.3.3-py37h0e8eec6_0
The following packages will be DOWNGRADED:
boost 1.72.0-py37h48f8a5e_1 --> 1.70.0-py37h9de70de_1 boost-cpp 1.72.0-h9359b55_3 --> 1.70.0-ha2d47e9_1 cairo 1.16.0-h3fc0475_1005 --> 1.16.0-h18b612c_1001 fontconfig 2.13.1-h7e3eb15_1002 --> 2.13.1-he4413a7_1000 icu 67.1-he1b5a44_0 --> 58.2-hf484d3e_1000 libxml2 2.9.10-h68273f3_2 --> 2.9.9-h13577e0_2 rdkit 2019.09.3-py37he9dd633_1 --> 2019.09.3-py37hb31dc5d_0
conda list
...
python-dateutil 2.8.1 py_0 conda-forge
python3-saml 1.9.0 py_0
python_abi 3.7 1_cp37m conda-forge
pytz 2021.1 pyhd8ed1ab_0 conda-forge
rdkit 2019.09.3 py37hb31dc5d_0 conda-forge
readline 8.1 h27cfd23_0
setuptools 52.0.0 py37h06a4308_0
...
SUCCESSFUL build***
Expt 1 - moving newer version of RDkit and Python3-saml
Ubuntu 20.04
export MINICONDA="Miniconda3-py37_4.8.3-Linux-x86_64.sh" wget https://repo.continuum.io/miniconda/$MINICONDA bash $MINICONDA -b -p /root/miniconda3 export PATH="/root/miniconda3/bin:$PATH" conda create -n test_rdkit python=3.7 -y source activate test_rdkit pip install --upgrade pip conda install -c conda-forge rdkit==2020.03.6 -y conda install -c conda-forge python3-saml
!!!!!!!!UNSUCCESSFUL INSTALL!!!!!!!!
Conda detects conflicts between RDkit install and Python3-SAML
Expt 2 - newer version of RDkit and Python3-saml
Ubuntu 20.04
export MINICONDA="Miniconda3-py37_4.8.3-Linux-x86_64.sh" wget https://repo.continuum.io/miniconda/$MINICONDA bash $MINICONDA -b -p /root/miniconda3 export PATH="/root/miniconda3/bin:$PATH" conda create -n test_rdkit python=3.7 -y
#Conda init bash
#
source activate test_rdkit
pip install --upgrade pip conda install -c conda-forge rdkit==2020.09.3 -y conda install -c conda-forge python3-saml
!!!!!!!!UNSUCCESSFUL INSTALL!!!!!!!!
--> Fails to install python3-saml and reports a huge amount of output - see included file.
Expt 3 - latest version of RDkit and Python3-saml
Ubuntu 20.04
export MINICONDA="Miniconda3-py37_4.8.3-Linux-x86_64.sh" wget https://repo.continuum.io/miniconda/$MINICONDA bash $MINICONDA -b -p /root/miniconda3 export PATH="/root/miniconda3/bin:$PATH" conda create -n test_rdkit python=3.7 -y source activate test_rdkit pip install --upgrade pip conda install -c conda-forge rdkit==2020.09.4 -y conda install -c conda-forge python3-saml
!!!!!!!!UNSUCCESSFUL INSTALL!!!!!!!!
--> Fails to install python3-saml and reports a huge amount of output - see included file.
Expt 4 - Install Python3-saml first then RDkit - check if it works the other way
Ubuntu 20.04
export MINICONDA="Miniconda3-py37_4.8.3-Linux-x86_64.sh" wget https://repo.continuum.io/miniconda/$MINICONDA bash $MINICONDA -b -p /root/miniconda3 export PATH="/root/miniconda3/bin:$PATH" conda create -n test_rdkit python=3.7 -y source activate test_rdkit pip install --upgrade pip conda install -c conda-forge python3-saml -y conda install -c conda-forge rdkit==2020.09.4 -y
!!!!!!!!UNSUCCESSFUL INSTALL!!!!!!!!
Python3-saml_fail_conda_conflict_report_Feb2021.txt
The above is the output on a failed install, details the conflicts - hopefully this saves some testing time. Python 3.8 appears to be mentioned a lot - did we miss something? All tests performed on Python3.7.
I just tried the simple experiment of creating a python 3.8 environment, installing the rdkit from conda-forge (gets me v2020.09.4 of the RDKit), and then trying to install python3-saml. I can confirm that this then wants to downgrade the RDKit to v2019.09.3
Similarly if I start by installing python3-saml and then try to install the rdkit, it goes with 2019.09.3
I'm just guessing, because untangling the rats' nest of dependencies is tricky, but it looks like the problem is caused by the fact that python3-saml comes from the main channel (not conda-forge) and depends on some other packages which are only available from conda main... one that seems particularly problematic seems to be libxmlsec1. Those then bring in a build of libxml2 from main and it looks like that may break something that more recent rdkit installs are looking for.
ack... it's a mess
I'll see if there's any way to reduce the number of explicit dependencies that the rdkit conda-forge package has, but I'm not terribly optimistic about that.
@jaimergp: maybe this is something we can look at together? I suspect I'll reach the end of my ability to really figure this out before the full problem is solved.
You don't want to mix defaults and conda-forge (and shouldn't need on MacOS and Linux), otherwise issues like this are very possible. If python-saml is not on conda-forge we can try submit the recipe to conda-forge/staged-recipes.
~Another possibility is to make sure strict_priority=True so dependencies present in conda-forge are not checked in defaults.~
The environment is solvable if you specify everything at the same time, but indeed goes back to rdkit 2019.*:
conda create -n rdkit-saml -c conda-forge -c defaults rdkit python3-saml
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/jaime/.conda/envs/rdkit-saml
added / updated specs:
- python3-saml
- rdkit
The following packages will be downloaded:
package | build
---------------------------|-----------------
glib-2.66.4 | hc4f0c31_2 442 KB conda-forge
glib-tools-2.66.4 | hc4f0c31_2 85 KB conda-forge
libgcrypt-1.8.7 | h36c2ea0_0 610 KB conda-forge
libglib-2.66.4 | h748fe8e_2 3.0 MB conda-forge
libgpg-error-1.41 | h9c3ff4c_0 270 KB conda-forge
libtool-2.4.6 | h58526e2_1007 497 KB conda-forge
libuuid-2.32.1 | h7f98852_1000 28 KB conda-forge
libwebp-base-1.2.0 | h7f98852_0 808 KB conda-forge
libxcb-1.13 | h7f98852_1003 395 KB conda-forge
libxml2-2.9.9 | h13577e0_2 1.3 MB conda-forge
libxmlsec1-1.2.29 | h8fe84ac_0 516 KB
libxslt-1.1.33 | h7d1a2b0_0 426 KB
numpy-1.20.0 | py37haa41c4c_0 5.8 MB conda-forge
pandas-1.2.1 | py37hdc94413_0 11.7 MB conda-forge
pillow-8.1.0 | py37he6b4880_1 676 KB conda-forge
pthread-stubs-0.4 | h36c2ea0_1001 5 KB conda-forge
python3-saml-1.9.0 | py_0 227 KB
python_abi-3.7 | 1_cp37m 4 KB conda-forge
pytz-2021.1 | pyhd8ed1ab_0 239 KB conda-forge
rdkit-2019.09.3 | py37hb31dc5d_0 23.7 MB conda-forge
xmlsec-1.3.3 | py37h0e8eec6_0 289 KB
xorg-kbproto-1.0.7 | h7f98852_1002 27 KB conda-forge
xorg-libxau-1.0.9 | h7f98852_0 13 KB conda-forge
xorg-libxdmcp-1.1.3 | h7f98852_0 19 KB conda-forge
xorg-xextproto-7.3.0 | h7f98852_1002 28 KB conda-forge
xorg-xproto-7.0.31 | h7f98852_1007 73 KB conda-forge
------------------------------------------------------------
Total: 51.1 MB
The following NEW packages will be INSTALLED:
_libgcc_mutex conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge
_openmp_mutex conda-forge/linux-64::_openmp_mutex-4.5-1_gnu
boost conda-forge/linux-64::boost-1.70.0-py37h9de70de_1
boost-cpp conda-forge/linux-64::boost-cpp-1.70.0-ha2d47e9_1
bzip2 conda-forge/linux-64::bzip2-1.0.8-h7f98852_4
ca-certificates conda-forge/linux-64::ca-certificates-2020.12.5-ha878542_0
cairo conda-forge/linux-64::cairo-1.16.0-h18b612c_1001
certifi conda-forge/linux-64::certifi-2020.12.5-py37h89c1867_1
defusedxml conda-forge/noarch::defusedxml-0.6.0-py_0
fontconfig conda-forge/linux-64::fontconfig-2.13.1-he4413a7_1000
freetype conda-forge/linux-64::freetype-2.10.4-h0708190_1
gettext conda-forge/linux-64::gettext-0.19.8.1-h0b5b191_1005
glib conda-forge/linux-64::glib-2.66.4-hc4f0c31_2
glib-tools conda-forge/linux-64::glib-tools-2.66.4-hc4f0c31_2
icu conda-forge/linux-64::icu-58.2-hf484d3e_1000
isodate conda-forge/noarch::isodate-0.6.0-py_1
jpeg conda-forge/linux-64::jpeg-9d-h36c2ea0_0
lcms2 conda-forge/linux-64::lcms2-2.11-hcbb858e_1
ld_impl_linux-64 conda-forge/linux-64::ld_impl_linux-64-2.35.1-hea4e1c9_2
libblas conda-forge/linux-64::libblas-3.9.0-7_openblas
libcblas conda-forge/linux-64::libcblas-3.9.0-7_openblas
libffi conda-forge/linux-64::libffi-3.3-h58526e2_2
libgcc-ng conda-forge/linux-64::libgcc-ng-9.3.0-h2828fa1_18
libgcrypt conda-forge/linux-64::libgcrypt-1.8.7-h36c2ea0_0
libgfortran-ng conda-forge/linux-64::libgfortran-ng-9.3.0-hff62375_18
libgfortran5 conda-forge/linux-64::libgfortran5-9.3.0-hff62375_18
libglib conda-forge/linux-64::libglib-2.66.4-h748fe8e_2
libgomp conda-forge/linux-64::libgomp-9.3.0-h2828fa1_18
libgpg-error conda-forge/linux-64::libgpg-error-1.41-h9c3ff4c_0
libiconv conda-forge/linux-64::libiconv-1.16-h516909a_0
liblapack conda-forge/linux-64::liblapack-3.9.0-7_openblas
libopenblas conda-forge/linux-64::libopenblas-0.3.12-pthreads_h4812303_1
libpng conda-forge/linux-64::libpng-1.6.37-h21135ba_2
libstdcxx-ng conda-forge/linux-64::libstdcxx-ng-9.3.0-h6de172a_18
libtiff conda-forge/linux-64::libtiff-4.2.0-hdc55705_0
libtool conda-forge/linux-64::libtool-2.4.6-h58526e2_1007
libuuid conda-forge/linux-64::libuuid-2.32.1-h7f98852_1000
libwebp-base conda-forge/linux-64::libwebp-base-1.2.0-h7f98852_0
libxcb conda-forge/linux-64::libxcb-1.13-h7f98852_1003
libxml2 conda-forge/linux-64::libxml2-2.9.9-h13577e0_2
libxmlsec1 pkgs/main/linux-64::libxmlsec1-1.2.29-h8fe84ac_0
libxslt pkgs/main/linux-64::libxslt-1.1.33-h7d1a2b0_0
lxml conda-forge/linux-64::lxml-4.4.1-py37h7ec2d77_0
lz4-c conda-forge/linux-64::lz4-c-1.9.3-h9c3ff4c_0
ncurses conda-forge/linux-64::ncurses-6.2-h58526e2_4
numpy conda-forge/linux-64::numpy-1.20.0-py37haa41c4c_0
olefile conda-forge/noarch::olefile-0.46-pyh9f0ad1d_1
openssl conda-forge/linux-64::openssl-1.1.1i-h7f98852_0
pandas conda-forge/linux-64::pandas-1.2.1-py37hdc94413_0
pcre conda-forge/linux-64::pcre-8.44-he1b5a44_0
pillow conda-forge/linux-64::pillow-8.1.0-py37he6b4880_1
pip conda-forge/noarch::pip-21.0.1-pyhd8ed1ab_0
pixman conda-forge/linux-64::pixman-0.38.0-h516909a_1003
pthread-stubs conda-forge/linux-64::pthread-stubs-0.4-h36c2ea0_1001
pycairo conda-forge/linux-64::pycairo-1.20.0-py37h01af8b0_1
python conda-forge/linux-64::python-3.7.9-hffdb5ce_0_cpython
python-dateutil conda-forge/noarch::python-dateutil-2.8.1-py_0
python3-saml pkgs/main/noarch::python3-saml-1.9.0-py_0
python_abi conda-forge/linux-64::python_abi-3.7-1_cp37m
pytz conda-forge/noarch::pytz-2021.1-pyhd8ed1ab_0
rdkit conda-forge/linux-64::rdkit-2019.09.3-py37hb31dc5d_0
readline conda-forge/linux-64::readline-8.0-he28a2e2_2
setuptools conda-forge/linux-64::setuptools-49.6.0-py37h89c1867_3
six conda-forge/noarch::six-1.15.0-pyh9f0ad1d_0
sqlite conda-forge/linux-64::sqlite-3.34.0-h74cdb3f_0
tk conda-forge/linux-64::tk-8.6.10-h21135ba_1
wheel conda-forge/noarch::wheel-0.36.2-pyhd3deb0d_0
xmlsec pkgs/main/linux-64::xmlsec-1.3.3-py37h0e8eec6_0
xorg-kbproto conda-forge/linux-64::xorg-kbproto-1.0.7-h7f98852_1002
xorg-libice conda-forge/linux-64::xorg-libice-1.0.10-h516909a_0
xorg-libsm conda-forge/linux-64::xorg-libsm-1.2.3-h84519dc_1000
xorg-libx11 conda-forge/linux-64::xorg-libx11-1.6.12-h516909a_0
xorg-libxau conda-forge/linux-64::xorg-libxau-1.0.9-h7f98852_0
xorg-libxdmcp conda-forge/linux-64::xorg-libxdmcp-1.1.3-h7f98852_0
xorg-libxext conda-forge/linux-64::xorg-libxext-1.3.4-h516909a_0
xorg-libxrender conda-forge/linux-64::xorg-libxrender-0.9.10-h516909a_1002
xorg-renderproto conda-forge/linux-64::xorg-renderproto-0.11.1-h14c3975_1002
xorg-xextproto conda-forge/linux-64::xorg-xextproto-7.3.0-h7f98852_1002
xorg-xproto conda-forge/linux-64::xorg-xproto-7.0.31-h7f98852_1007
xz conda-forge/linux-64::xz-5.2.5-h516909a_1
zlib conda-forge/linux-64::zlib-1.2.11-h516909a_1010
zstd conda-forge/linux-64::zstd-1.4.8-ha95c52a_1
Proceed ([y]/n)?
Unfortunately, strict-channel-priority results in conflicts (this is no surprise):
conda create -n rdkit-saml -c conda-forge -c defaults --strict-channel-priority rdkit python3-saml (base) 107ms Wed Feb 3 11:52:14 2021
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: \
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
Examining rdkit: 0%| | 0/5 [00:00<?, ?it| ^failed
CondaError: KeyboardInterrupt
mamba does solve, but still gives rdkit 2019.*:
mamba create -n rdkit-saml -c conda-forge -c defaults --strict-channel-priority rdkit python3-saml (base) 40s Wed Feb 3 11:53:03 2021
__ __ __ __
/ \ / \ / \ / \
/ \/ \/ \/ \
███████████████/ /██/ /██/ /██/ /████████████████████████
/ / \ / \ / \ / \ \____
/ / \_/ \_/ \_/ \ o \__,
/ _/ \_____/ `
|/
███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗
████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
██╔████╔██║███████║██╔████╔██║██████╔╝███████║
██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝
mamba (0.7.5) supported by @QuantStack
GitHub: https://github.com/mamba-org/mamba
Twitter: https://twitter.com/QuantStack
█████████████████████████████████████████████████████████████
Looking for: ['rdkit', 'python3-saml']
pkgs/r/linux-64 [====================] (00m:00s) No change
pkgs/r/noarch [====================] (00m:00s) No change
pkgs/main/noarch [====================] (00m:00s) Done
pkgs/main/linux-64 [====================] (00m:01s) Done
conda-forge/noarch [====================] (00m:02s) Done
conda-forge/linux-64 [====================] (00m:07s) Done
Transaction
Prefix: /home/jaime/.conda/envs/rdkit-saml
Updating specs:
- rdkit
- python3-saml
Package Version Build Channel Size
─────────────────────────────────────────────────────────────────────────────────────
Install:
─────────────────────────────────────────────────────────────────────────────────────
_libgcc_mutex 0.1 conda_forge conda-forge/linux-64 Cached
_openmp_mutex 4.5 1_gnu conda-forge/linux-64 Cached
boost 1.70.0 py38h9de70de_1 conda-forge/linux-64 355 KB
boost-cpp 1.70.0 ha2d47e9_1 conda-forge/linux-64 21 MB
bzip2 1.0.8 h7f98852_4 conda-forge/linux-64 Cached
ca-certificates 2020.12.5 ha878542_0 conda-forge/linux-64 137 KB
cairo 1.16.0 h18b612c_1001 conda-forge/linux-64 1 MB
certifi 2020.12.5 py38h578d9bd_1 conda-forge/linux-64 Cached
defusedxml 0.6.0 py_0 conda-forge/noarch 22 KB
fontconfig 2.13.1 hba837de_1004 conda-forge/linux-64 Cached
freetype 2.10.4 h0708190_1 conda-forge/linux-64 Cached
gettext 0.19.8.1 h0b5b191_1005 conda-forge/linux-64 Cached
glib 2.66.4 hcd2ae1e_2 conda-forge/linux-64 431 KB
glib-tools 2.66.4 hcd2ae1e_2 conda-forge/linux-64 85 KB
icu 58.2 hf484d3e_1000 conda-forge/linux-64 23 MB
isodate 0.6.0 py_1 conda-forge/noarch 25 KB
jpeg 9d h516909a_0 conda-forge/linux-64 Cached
lcms2 2.11 hcbb858e_1 conda-forge/linux-64 Cached
ld_impl_linux-64 2.35.1 hea4e1c9_2 conda-forge/linux-64 Cached
libblas 3.9.0 7_openblas conda-forge/linux-64 Cached
libcblas 3.9.0 7_openblas conda-forge/linux-64 Cached
libffi 3.3 h58526e2_2 conda-forge/linux-64 Cached
libgcc-ng 9.3.0 h2828fa1_18 conda-forge/linux-64 Cached
libgcrypt 1.8.7 h36c2ea0_0 conda-forge/linux-64 610 KB
libgfortran-ng 7.5.0 h14aa051_18 conda-forge/linux-64 Cached
libgfortran4 7.5.0 h14aa051_18 conda-forge/linux-64 Cached
libglib 2.66.4 h164308a_2 conda-forge/linux-64 3 MB
libgomp 9.3.0 h2828fa1_18 conda-forge/linux-64 Cached
libgpg-error 1.41 h9c3ff4c_0 conda-forge/linux-64 270 KB
libiconv 1.16 h516909a_0 conda-forge/linux-64 Cached
liblapack 3.9.0 7_openblas conda-forge/linux-64 Cached
libopenblas 0.3.12 pthreads_hb3c22a3_1 conda-forge/linux-64 Cached
libpng 1.6.37 hed695b0_2 conda-forge/linux-64 359 KB
libstdcxx-ng 9.3.0 h6de172a_18 conda-forge/linux-64 Cached
libtiff 4.2.0 hdc55705_0 conda-forge/linux-64 Cached
libtool 2.4.6 h58526e2_1007 conda-forge/linux-64 497 KB
libuuid 2.32.1 h14c3975_1000 conda-forge/linux-64 Cached
libwebp-base 1.2.0 h7f98852_0 conda-forge/linux-64 808 KB
libxcb 1.13 h7f98852_1003 conda-forge/linux-64 395 KB
libxml2 2.9.10 hb55368b_3 pkgs/main/linux-64 Cached
libxmlsec1 1.2.29 h8fe84ac_0 pkgs/main/linux-64 516 KB
libxslt 1.1.34 hc22bd24_0 pkgs/main/linux-64 Cached
lxml 4.6.2 py38hf1fe3a4_1 conda-forge/linux-64 2 MB
lz4-c 1.9.3 h9c3ff4c_0 conda-forge/linux-64 Cached
ncurses 6.2 h58526e2_4 conda-forge/linux-64 Cached
numpy 1.20.0 py38h18fd61f_0 conda-forge/linux-64 6 MB
olefile 0.46 pyh9f0ad1d_1 conda-forge/noarch Cached
openssl 1.1.1i h7f98852_0 conda-forge/linux-64 Cached
pandas 1.2.1 py38h51da96c_0 conda-forge/linux-64 12 MB
pcre 8.44 he1b5a44_0 conda-forge/linux-64 Cached
pillow 8.1.0 py38h357d4e7_1 conda-forge/linux-64 Cached
pip 21.0.1 pyhd8ed1ab_0 conda-forge/noarch Cached
pixman 0.38.0 h516909a_1003 conda-forge/linux-64 Cached
pthread-stubs 0.4 h36c2ea0_1001 conda-forge/linux-64 5 KB
pycairo 1.20.0 py38h323dad1_1 conda-forge/linux-64 Cached
python 3.8.6 hffdb5ce_5_cpython conda-forge/linux-64 26 MB
python-dateutil 2.8.1 py_0 conda-forge/noarch 220 KB
python3-saml 1.9.0 py_0 pkgs/main/noarch 227 KB
python_abi 3.8 1_cp38 conda-forge/linux-64 Cached
pytz 2021.1 pyhd8ed1ab_0 conda-forge/noarch 239 KB
rdkit 2019.09.3 py38hb31dc5d_0 conda-forge/linux-64 24 MB
readline 8.0 he28a2e2_2 conda-forge/linux-64 Cached
setuptools 49.6.0 py38h578d9bd_3 conda-forge/linux-64 929 KB
six 1.15.0 pyh9f0ad1d_0 conda-forge/noarch Cached
sqlite 3.34.0 h74cdb3f_0 conda-forge/linux-64 Cached
tk 8.6.10 hed695b0_1 conda-forge/linux-64 Cached
wheel 0.36.2 pyhd3deb0d_0 conda-forge/noarch Cached
xmlsec 1.3.3 py38h0e8eec6_0 pkgs/main/linux-64 290 KB
xorg-kbproto 1.0.7 h14c3975_1002 conda-forge/linux-64 Cached
xorg-libice 1.0.10 h516909a_0 conda-forge/linux-64 Cached
xorg-libsm 1.2.3 h84519dc_1000 conda-forge/linux-64 Cached
xorg-libx11 1.6.12 h516909a_0 conda-forge/linux-64 Cached
xorg-libxau 1.0.9 h14c3975_0 conda-forge/linux-64 13 KB
xorg-libxdmcp 1.1.3 h516909a_0 conda-forge/linux-64 18 KB
xorg-libxext 1.3.4 h516909a_0 conda-forge/linux-64 Cached
xorg-libxrender 0.9.10 h516909a_1002 conda-forge/linux-64 Cached
xorg-renderproto 0.11.1 h14c3975_1002 conda-forge/linux-64 Cached
xorg-xextproto 7.3.0 h14c3975_1002 conda-forge/linux-64 Cached
xorg-xproto 7.0.31 h14c3975_1007 conda-forge/linux-64 Cached
xz 5.2.5 h516909a_1 conda-forge/linux-64 Cached
zlib 1.2.11 h516909a_1010 conda-forge/linux-64 Cached
zstd 1.4.8 ha95c52a_1 conda-forge/linux-64 Cached
Summary:
Install: 82 packages
Total download: 124 MB
─────────────────────────────────────────────────────────────────────────────────────
Confirm changes: [Y/n]
So, in short, python3-saml needs to be provided on conda-forge, and possibly some of its dependencies (they might have different names on conda-forge):
libxmlsec1-1.2.29 | h8fe84ac_0 516 KB # NA
libxslt-1.1.33 | h7d1a2b0_0 426 KB # Present
python3-saml-1.9.0 | py_0 227 KB # NA
xmlsec-1.3.3 | py37h0e8eec6_0 289 KB # NA
In case you were wondering, the actual conflict for rdkit 2020.09.* is boost:
$> mamba create -q -n rdkit-saml -c conda-forge -c defaults rdkit=2020.09.\* python3-saml
Encountered problems while solving.
Problem: package rdkit-2020.09.3-py39h045bdbb_0 requires boost >=1.72.0,<1.72.1.0a0, but none of the providers can be installed
yeah, I thought it was boost at first too, but I don't see how that can be true if python3-saml doesn't install boost:
base) glandrum@Badger:/scratch/RDKit_git/build$ conda create -n foo -c conda-forge -c defaults python=3.8 python3-saml
WARNING: A conda environment already exists at '/home/glandrum/miniconda3/envs/foo'
Remove existing environment (y/[n])? y
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/glandrum/miniconda3/envs/foo
added / updated specs:
- python3-saml
- python=3.8
The following packages will be downloaded:
package | build
---------------------------|-----------------
ld_impl_linux-64-2.35.1 | hea4e1c9_2 618 KB conda-forge
libgpg-error-1.41 | h9c3ff4c_0 270 KB conda-forge
lxml-4.6.2 | py38hf1fe3a4_1 1.5 MB conda-forge
pip-21.0.1 | pyhd8ed1ab_0 1.1 MB conda-forge
python-3.8.6 |hffdb5ce_5_cpython 26.1 MB conda-forge
setuptools-49.6.0 | py38h578d9bd_3 929 KB conda-forge
------------------------------------------------------------
Total: 30.5 MB
The following NEW packages will be INSTALLED:
_libgcc_mutex conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge
_openmp_mutex conda-forge/linux-64::_openmp_mutex-4.5-1_gnu
ca-certificates conda-forge/linux-64::ca-certificates-2020.12.5-ha878542_0
certifi conda-forge/linux-64::certifi-2020.12.5-py38h578d9bd_1
defusedxml conda-forge/noarch::defusedxml-0.6.0-py_0
gettext conda-forge/linux-64::gettext-0.19.8.1-h0b5b191_1005
icu conda-forge/linux-64::icu-58.2-hf484d3e_1000
isodate conda-forge/noarch::isodate-0.6.0-py_1
ld_impl_linux-64 conda-forge/linux-64::ld_impl_linux-64-2.35.1-hea4e1c9_2
libffi conda-forge/linux-64::libffi-3.3-h58526e2_2
libgcc-ng conda-forge/linux-64::libgcc-ng-9.3.0-h2828fa1_18
libgcrypt conda-forge/linux-64::libgcrypt-1.8.7-h36c2ea0_0
libgomp conda-forge/linux-64::libgomp-9.3.0-h2828fa1_18
libgpg-error conda-forge/linux-64::libgpg-error-1.41-h9c3ff4c_0
libstdcxx-ng conda-forge/linux-64::libstdcxx-ng-9.3.0-h6de172a_18
libtool conda-forge/linux-64::libtool-2.4.6-h58526e2_1007
libxml2 pkgs/main/linux-64::libxml2-2.9.10-hb55368b_3
libxmlsec1 pkgs/main/linux-64::libxmlsec1-1.2.29-h8fe84ac_0
libxslt pkgs/main/linux-64::libxslt-1.1.34-hc22bd24_0
lxml conda-forge/linux-64::lxml-4.6.2-py38hf1fe3a4_1
ncurses conda-forge/linux-64::ncurses-6.2-h58526e2_4
openssl conda-forge/linux-64::openssl-1.1.1i-h7f98852_0
pip conda-forge/noarch::pip-21.0.1-pyhd8ed1ab_0
python conda-forge/linux-64::python-3.8.6-hffdb5ce_5_cpython
python3-saml pkgs/main/noarch::python3-saml-1.9.0-py_0
python_abi conda-forge/linux-64::python_abi-3.8-1_cp38
readline conda-forge/linux-64::readline-8.0-he28a2e2_2
setuptools conda-forge/linux-64::setuptools-49.6.0-py38h578d9bd_3
six conda-forge/noarch::six-1.15.0-pyh9f0ad1d_0
sqlite conda-forge/linux-64::sqlite-3.34.0-h74cdb3f_0
tk conda-forge/linux-64::tk-8.6.10-h21135ba_1
wheel conda-forge/noarch::wheel-0.36.2-pyhd3deb0d_0
xmlsec pkgs/main/linux-64::xmlsec-1.3.3-py38h0e8eec6_0
xz conda-forge/linux-64::xz-5.2.5-h516909a_1
zlib conda-forge/linux-64::zlib-1.2.11-h516909a_1010
Proceed ([y]/n)? n
more data, ignoring the rdkit entirely, python3-saml will not install with --strict-channel-priority:
base) glandrum@Badger:/scratch/RDKit_git/build$ conda create -n foo -c conda-forge -c defaults --strict-channel-priority python=3.8 python3-saml
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: /
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed
UnsatisfiableError: The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions
Package python conflicts for:
python3-saml -> python
python=3.8
python3-saml -> defusedxml[version='>=0.5.0'] -> python[version='2.7.*|3.5.*|3.6.*|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|>=2.7,<2.8.0a0|>=3.7,<3.8.0a0|3.4.*|>=3.8,<3.9.0a0']
Note that strict channel priority may have removed packages required for satisfiability.
I don't see how that can be true if python3-saml doesn't install boost:
It might be a secondary (or n-ary) dependency of their dependencies 🤷
Nice find about python3-saml. That's a strong case so this is provided in conda-forge and goes beyond RDKit. @AlDossetter, can you raise this issue in https://github.com/conda-forge/staged-recipes/issues and tag me? I'm a bit oversubscribed right now but I'll look into that whenever I have some time.
I don't see how that can be true if python3-saml doesn't install boost:
It might be a secondary (or n-ary) dependency of their dependencies
If that were the case, wouldn't boost still end up being installed if I install python3-saml? Because that's not what happens.
That would be the natural thing, but some packages use run_constrained too:
Packages that are optional at runtime but must obey the supplied additional constraint if they are installed.
I don't think that's what's happening, but untangling this is a rabbit hole and anyway we will need a conda-forge package in the end...
Added terse part of the issue here to conda-forge/staged-recipes and tagged in @jaimergp
PR here https://github.com/conda-forge/staged-recipes/pull/13880