Closed megies closed 5 years ago
I believe this is fixed in more recent versions of the zeromq package (build 5), but we can add similar pin_run_as_build
here, since we do link it directly.
Ah, I see.. indeed it looks like the recent versions of the zeromq package (build 5) have the problem fixed.
Now I wonder why conda did not resolve to the highest available zeromq
build number above, when updating pyzmq
?
Coming from this env:
$ conda list --export | egrep '(pyzmq)|(zeromq)|(libsodium)'
libsodium=1.0.10=0
pyzmq=17.0.0=py27_3
zeromq=4.2.3=2
..if I request a newer pyzmq
, I am offered zeromq
build 4 which does not appropriately update libsodium
:
$ conda install 'pyzmq>17.0'
Solving environment: done
## Package Plan ##
environment location: /home/megies/anaconda/envs/default
added / updated specs:
- pyzmq[version='>17.0']
The following packages will be UPDATED:
pyzmq: 17.0.0-py27_3 conda-forge --> 17.1.2-py27hae99301_0 conda-forge
zeromq: 4.2.3-2 conda-forge --> 4.2.5-hfc679d8_4 conda-forge
Proceed ([y]/n)? n
N.b. just updated to most recent conda just to make sure it's not an already fixed conda issue (conda info in details):
Issue:
It seems that
pyzmq
packages depend on specific versions oflibsodium
, but the package metadata does not specify them. Thus e.g. by updatingpyzmq
, conda does not also update (or rather install the exact needed version of)libsodium
at the same time, which leaves the updatedpyzmq
broken.I think this should be resolved in one of the following ways:
pyzmq
does not need a specificlibsodium
version (implied by no dep version specified in recipe):pyzmq
should look uplibsodium.so
which will link to the specific version currently installed in the systempyzmq
does need a specificlibsodium
version: package metadata should state that version of libsodium so conda can resolve the dependency correctlySteps to reproduce
Step 1: outdated pyzmq version installed
Conda env with..
Step 2: Update
pyzmq
Update
pyzmq
using conda:conda install -c conda-forge pyzmq
Step 3: Broken
pyzmq
installationBroken
pyzmq
due to mismatchinglibsodium
version.pyzmq
looks specifically forlibsodium.so.23
but instead in the systemlibsodium.so.18
is installed due to version mismatch.Step 4: Fix env by manually updating
libsodium
Updating
libsodium
makes everything work again.Environment (
conda list
):Details about
conda
and system (conda info
):