Skip to content

wrong version of openssl when installing with mamba #150

@kmpaul

Description

@kmpaul

UPDATED:

When you use mamba to create a fresh install of jupyter-forward, it installs the incorrect version of openssl (version 3.0.2) which is incompatible with cryptography, a dependency of paramiko. Installation proceeds, but when you try to run jupyter-forward, you get the following error:

Traceback (most recent call last):
  File "/Users/kpaul/Software/miniconda3/envs/t/bin/jupyter-forward", line 6, in <module>
    from jupyter_forward.cli import main
  File "/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/jupyter_forward/__init__.py", line 6, in <module>
    from .core import RemoteRunner
  File "/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/jupyter_forward/core.py", line 12, in <module>
    import paramiko
  File "/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/paramiko/__init__.py", line 22, in <module>
    from paramiko.transport import SecurityOptions, Transport
  File "/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/paramiko/transport.py", line 132, in <module>
    class Transport(threading.Thread, ClosingContextManager):
  File "/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/paramiko/transport.py", line 207, in Transport
    if KexCurve25519.is_available():
  File "/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/paramiko/kex_curve25519.py", line 30, in is_available
    X25519PrivateKey.generate()
  File "/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py", line 39, in generate
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/__init__.py", line 6, in <module>
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 64, in <module>
    from cryptography.hazmat.bindings.openssl import binding
  File "/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: dlopen(/Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so, 2): Library not loaded: @rpath/libssl.1.1.dylib
  Referenced from: /Users/kpaul/Software/miniconda3/envs/t/lib/python3.10/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so
  Reason: image not found

Further investigation shows that when you install jupyter-forward with conda, it correctly installs openssl version 1.1.1n, which is compatible with cryptography. Similarly, if you install jupyter-forward with pip, everything works fine (no openssl is installed with pip, as that is a conda package).

This definitely appears to be a bug in mamba, and users of jupyter-forward should be cautious!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions