threefoldtech / js-sdk

extensions to js-ng for tfgrid
Apache License 2.0
14 stars 6 forks source link

Installing js-sdk on new macbook (ARM) and install fails on one module (poetry). #3365

Open weynandkuijpers opened 2 years ago

weynandkuijpers commented 2 years ago

Device: Macbook M1 processor OS: Macos Monterey

Executed commands:

git clone git@github.com:threefoldtech/js-sdk.git
git clonegit@github.com:threefoldtech/js-ng.git
cd js-sdk
poetry update
poetry install

error happens in the cryptography module:

➜  js-sdk git:(development) ✗ poetry update
Updating dependencies
Resolving dependencies... (21.7s)

Package operations: 142 installs, 0 updates, 0 removals

  • Installing cryptography (3.3.2): Failed

  EnvCommandError

  Command ['/Users/johndoe/Library/Caches/pypoetry/virtualenvs/js-sdk-I1XjSVOR-py3.9/bin/pip', 'install', '--no-deps', 'file:///Users/johndoe/Library/Caches/pypoetry/artifacts/b6/8a/c9/7f0fd2db374a0dc590e501cbc642bb93580a3e2b3cc6144148e6c6590d/cryptography-3.3.2.tar.gz'] errored with the following return code 1, and output:
  Processing /Users/johndoe/Library/Caches/pypoetry/artifacts/b6/8a/c9/7f0fd2db374a0dc590e501cbc642bb93580a3e2b3cc6144148e6c6590d/cryptography-3.3.2.tar.gz
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: cryptography
    Building wheel for cryptography (pyproject.toml): started
    Building wheel for cryptography (pyproject.toml): finished with status 'error'
    error: subprocess-exited-with-error

    × Building wheel for cryptography (pyproject.toml) did not run successfully.
    │ exit code: 1
    ╰─> [152 lines of output]
        running bdist_wheel
        running build
        running build_py
        creating build
        creating build/lib.macosx-12-arm64-3.9
        creating build/lib.macosx-12-arm64-3.9/cryptography
        copying src/cryptography/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography
        copying src/cryptography/utils.py -> build/lib.macosx-12-arm64-3.9/cryptography
        copying src/cryptography/__about__.py -> build/lib.macosx-12-arm64-3.9/cryptography
        copying src/cryptography/exceptions.py -> build/lib.macosx-12-arm64-3.9/cryptography
        copying src/cryptography/fernet.py -> build/lib.macosx-12-arm64-3.9/cryptography
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat
        copying src/cryptography/hazmat/_der.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat
        copying src/cryptography/hazmat/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat
        copying src/cryptography/hazmat/_oid.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat
        creating build/lib.macosx-12-arm64-3.9/cryptography/x509
        copying src/cryptography/x509/oid.py -> build/lib.macosx-12-arm64-3.9/cryptography/x509
        copying src/cryptography/x509/ocsp.py -> build/lib.macosx-12-arm64-3.9/cryptography/x509
        copying src/cryptography/x509/general_name.py -> build/lib.macosx-12-arm64-3.9/cryptography/x509
        copying src/cryptography/x509/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/x509
        copying src/cryptography/x509/extensions.py -> build/lib.macosx-12-arm64-3.9/cryptography/x509
        copying src/cryptography/x509/name.py -> build/lib.macosx-12-arm64-3.9/cryptography/x509
        copying src/cryptography/x509/base.py -> build/lib.macosx-12-arm64-3.9/cryptography/x509
        copying src/cryptography/x509/certificate_transparency.py -> build/lib.macosx-12-arm64-3.9/cryptography/x509
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends
        copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends
        copying src/cryptography/hazmat/backends/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives
        copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives
        copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives
        copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives
        copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives
        copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives
        copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives
        copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives
        copying src/cryptography/hazmat/primitives/padding.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat/bindings
        copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/bindings
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/backends/openssl
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/kdf
        copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/kdf
        copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/kdf
        copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/kdf
        copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/kdf
        copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/kdf
        copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/kdf
        copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/kdf
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/twofactor
        copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/twofactor
        copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/twofactor
        copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/twofactor
        copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/twofactor
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/serialization
        copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/serialization
        copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/serialization
        copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/serialization
        copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/serialization
        copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/serialization
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/ciphers
        copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/ciphers
        copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/ciphers
        copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/ciphers
        copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/ciphers
        copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/ciphers
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/primitives/asymmetric
        creating build/lib.macosx-12-arm64-3.9/cryptography/hazmat/bindings/openssl
        copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/bindings/openssl
        copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/bindings/openssl
        copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.macosx-12-arm64-3.9/cryptography/hazmat/bindings/openssl
        running egg_info
        writing src/cryptography.egg-info/PKG-INFO
        writing dependency_links to src/cryptography.egg-info/dependency_links.txt
        writing requirements to src/cryptography.egg-info/requires.txt
        writing top-level names to src/cryptography.egg-info/top_level.txt
        reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
        reading manifest template 'MANIFEST.in'
        no previously-included directories found matching 'docs/_build'
        warning: no previously-included files found matching 'vectors'
        warning: no previously-included files matching '*' found under directory 'vectors'
        warning: no previously-included files matching '*' found under directory '.github'
        warning: no previously-included files found matching 'release.py'
        warning: no previously-included files found matching '.coveragerc'
        warning: no previously-included files found matching 'codecov.yml'
        warning: no previously-included files found matching '.readthedocs.yml'
        warning: no previously-included files found matching 'dev-requirements.txt'
        warning: no previously-included files found matching 'rtd-requirements.txt'
        warning: no previously-included files found matching 'tox.ini'
        warning: no previously-included files matching '*' found under directory '.zuul.d'
        warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
        adding license file 'LICENSE'
        adding license file 'LICENSE.APACHE'
        adding license file 'LICENSE.BSD'
        adding license file 'LICENSE.PSF'
        adding license file 'AUTHORS.rst'
        writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
        running build_ext
        generating cffi module 'build/temp.macosx-12-arm64-3.9/_padding.c'
        creating build/temp.macosx-12-arm64-3.9
        generating cffi module 'build/temp.macosx-12-arm64-3.9/_openssl.c'
        building '_openssl' extension
        creating build/temp.macosx-12-arm64-3.9/build
        creating build/temp.macosx-12-arm64-3.9/build/temp.macosx-12-arm64-3.9
        clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -I/Users/johndoe/Library/Caches/pypoetry/virtualenvs/js-sdk-I1XjSVOR-py3.9/include -I/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c build/temp.macosx-12-arm64-3.9/_openssl.c -o build/temp.macosx-12-arm64-3.9/build/temp.macosx-12-arm64-3.9/_openssl.o -Wconversion -Wno-error=sign-conversion
        build/temp.macosx-12-arm64-3.9/_openssl.c:575:10: fatal error: 'openssl/opensslv.h' file not found
        #include <openssl/opensslv.h>
                 ^~~~~~~~~~~~~~~~~~~~
        1 error generated.

            =============================DEBUG ASSISTANCE=============================
            If you are seeing a compilation error please try the following steps to
            successfully install cryptography:
            1) Upgrade to the latest pip and try again. This will fix errors for most
               users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
            2) Read https://cryptography.io/en/latest/installation.html for specific
               instructions for your platform.
            3) Check our frequently asked questions for more information:
               https://cryptography.io/en/latest/faq.html
            =============================DEBUG ASSISTANCE=============================

        error: command '/usr/bin/clang' failed with exit code 1
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for cryptography
  Failed to build cryptography
  ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects

  at /opt/homebrew/lib/python3.9/site-packages/poetry/utils/env.py:1195 in _run
      1191│                 output = subprocess.check_output(
      1192│                     cmd, stderr=subprocess.STDOUT, **kwargs
      1193│                 )
      1194│         except CalledProcessError as e:
    → 1195│             raise EnvCommandError(e, input=input_)
      1196│
      1197│         return decode(output)
      1198│
      1199│     def execute(self, bin, *args, **kwargs):
weynandkuijpers commented 2 years ago

Wait - I see - openssl - dev environment not installed..... Ooops.

weynandkuijpers commented 2 years ago

Nope - do I need to install xcode development environment for this to work? Seems like overkill......

weynandkuijpers commented 2 years ago

Tried the recommended install method listed here: https://cryptography.io/en/latest/installation/#building-cryptography-on-macos. Same error.