git-annex-remote-googledrive icon indicating copy to clipboard operation
git-annex-remote-googledrive copied to clipboard

CRYPTOGRAPHY_OPENSSL_NO_LEGACY error on python 3.11 environment

Open hwiorn opened this issue 1 year ago • 0 comments

If I sync on latest python environment, I got this error. It's not python 3.11 issue exactly. But most users can see it on latest python. The issue is occurred in drivelib package. But I think git-annex-remote-googledrive can handle this.

ok                                   
drop ARCHIVE/00_PROJECT/2022_05_PERSONAL_XXXXX/convert.py Traceback (most recent call last):
  File "/home/timlee/.local/bin/git-annex-remote-googledrive", line 5, in <module>
    from git_annex_remote_googledrive.run import main
  File "/home/timlee/.local/lib/python3.11/site-packages/git_annex_remote_googledrive/run.py", line 22, in <module>
    from drivelib import __version__ as drivelib_version
  File "/home/timlee/.local/lib/python3.11/site-packages/drivelib/__init__.py", line 5, in <module>
    from .drive import *
  File "/home/timlee/.local/lib/python3.11/site-packages/drivelib/drive.py", line 21, in <module>
    from googleapiclient.discovery import build
  File "/home/timlee/.local/lib/python3.11/site-packages/googleapiclient/discovery.py", line 45, in <module>
    from google.oauth2 import service_account
  File "/home/timlee/.local/lib/python3.11/site-packages/google/oauth2/service_account.py", line 77, in <module>
    from google.auth import _service_account_info
  File "/home/timlee/.local/lib/python3.11/site-packages/google/auth/_service_account_info.py", line 22, in <module>
    from google.auth import crypt
  File "/home/timlee/.local/lib/python3.11/site-packages/google/auth/crypt/__init__.py", line 43, in <module>
    from google.auth.crypt import rsa
  File "/home/timlee/.local/lib/python3.11/site-packages/google/auth/crypt/rsa.py", line 20, in <module>
    from google.auth.crypt import _cryptography_rsa
  File "/home/timlee/.local/lib/python3.11/site-packages/google/auth/crypt/_cryptography_rsa.py", line 33, in <module>
    _BACKEND = backends.default_backend()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/miniconda3/lib/python3.11/site-packages/cryptography/hazmat/backends/__init__.py", line 8, in default_backend
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/opt/miniconda3/lib/python3.11/site-packages/cryptography/hazmat/backends/openssl/__init__.py", line 6, in <module>
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/opt/miniconda3/lib/python3.11/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 61, in <module>
    from cryptography.hazmat.bindings.openssl import binding
  File "/opt/miniconda3/lib/python3.11/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 232, in <module>
    Binding.init_static_locks()
  File "/opt/miniconda3/lib/python3.11/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 206, in init_static_locks
    cls._ensure_ffi_initialized()
  File "/opt/miniconda3/lib/python3.11/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 195, in _ensure_ffi_initialized
    _legacy_provider_error(cls._legacy_provider_loaded)
  File "/opt/miniconda3/lib/python3.11/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 104, in _legacy_provider_error
    raise RuntimeError(
RuntimeError: OpenSSL 3.0's legacy provider failed to load. This is a fatal error by default, but cryptography supports running without legacy algorithms by setting the environment variable CRYPTOGRAPHY_OPENSSL_NO_LEGACY. If you did not expect this error, you have likely made a mistake with your OpenSSL configuration.

  external special remote protocol error, unexpectedly received "<EOF>" (unable to parse command)
(unsafe) 
  Unable to lock down 3 copies of file necessary to safely drop it.

  These remotes do not support locking: gdrive1, backblaze2, usbdrive

  Unable to access these remotes: gdrive1

  Try making some of these remotes available:
        f8e4fd10-e7cf-478b-baef-9ea833fbcfd1 -- [gdrive1]

  (Note that these git remotes have annex-ignore set: origin)

  (Use --force to override this check, or adjust numcopies.)
failed

Temporary workaround is:

export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1

And do git annex sync --content again.

hwiorn avatar Aug 22 '23 00:08 hwiorn