Skip to content

gRPC installation in macs with arm64e (M1/M2) #71

@praneethchityala

Description

@praneethchityala

This error is only specific to macbooks with apple silicon (M1/M2...)

Description

When trying work with mft after installing using "pip install airavata-mft-cli", unable to use mft with conflicts from gRPC libraries incompatible with arm64e architecture.

Steps to Reproduce

Create a python virtual environment by "python3.10 -m venv venv"
Activate the above env "source venv/bin/activate"
Install mft-client with "pip install airavata-mft-cli".
Execute "mft --help" to generate the below error.

Traceback (most recent call last):
  File "/opt/homebrew/bin/mft", line 5, in <module>
    from airavata_mft_cli.main import app
  File "/opt/homebrew/lib/python3.10/site-packages/airavata_mft_cli/main.py", line 2, in <module>
    import airavata_mft_cli.storage
  File "/opt/homebrew/lib/python3.10/site-packages/airavata_mft_cli/storage/__init__.py", line 3, in <module>
    import airavata_mft_cli.storage.s3 as s3
  File "/opt/homebrew/lib/python3.10/site-packages/airavata_mft_cli/storage/s3.py", line 4, in <module>
    from airavata_mft_sdk import mft_client
  File "/opt/homebrew/lib/python3.10/site-packages/airavata_mft_sdk/mft_client.py", line 1, in <module>
    import grpc
  File "/opt/homebrew/lib/python3.10/site-packages/grpc/__init__.py", line 22, in <module>
    from grpc import _compression
  File "/opt/homebrew/lib/python3.10/site-packages/grpc/_compression.py", line 15, in <module>
    from grpc._cython import cygrpc
ImportError: dlopen(/opt/homebrew/lib/python3.10/site-packages/grpc/_cython/cygrpc.cpython-310-darwin.so, 0x0002): tried: '/opt/homebrew/lib/python3.10/site-packages/grpc/_cython/cygrpc.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e)))

Expected Behaviour

It is expected to execute mft commands.

Your Environment

M1 MacBook Pro.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions