Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pulumi-hcloud can't be installed on M1 processors #368

Closed
hipertracker opened this issue Dec 20, 2023 · 4 comments
Closed

pulumi-hcloud can't be installed on M1 processors #368

hipertracker opened this issue Dec 20, 2023 · 4 comments
Assignees
Labels
awaiting-upstream The issue cannot be resolved without action in another repository (may be owned by Pulumi). kind/bug Some behavior is incorrect or out of spec resolution/fixed This issue was fixed
Milestone

Comments

@hipertracker
Copy link

What happened?

Python 3.12.1 is unable to install the pulumi_cloud package on new Apple M1 processors due to an outdated grpcio version dependency in pulumi_hcloud (specifically, grpcio-1.56.2.tar.gz). All newer versions of grpcio above 1.59, with the latest stable being 1.60.0, function correctly. This issue appears to be with Pulumi in general, as even creating a basic Python project using the pulumi new python command defaults to this older grpcio version, leading to installation failures

Example

❯ python -V
Python 3.12.1

❯ pip install pulumi_hcloud
Collecting pulumi_hcloud
Using cached pulumi_hcloud-1.16.2-py3-none-any.whl.metadata (2.0 kB)
Collecting parver>=0.2.1 (from pulumi_hcloud)
Using cached parver-0.5-py3-none-any.whl.metadata (2.7 kB)
Collecting pulumi<4.0.0,>=3.0.0 (from pulumi_hcloud)
Using cached pulumi-3.98.0-py3-none-any.whl.metadata (11 kB)
Collecting semver>=2.8.1 (from pulumi_hcloud)
Using cached semver-3.0.2-py3-none-any.whl.metadata (5.0 kB)
Collecting arpeggio>=1.7 (from parver>=0.2.1->pulumi_hcloud)
Using cached Arpeggio-2.0.2-py2.py3-none-any.whl.metadata (2.4 kB)
Requirement already satisfied: attrs>=19.2 in /Users/hipertracker/.asdf/installs/python/3.12.1/lib/python3.12/site-packages (from parver>=0.2.1->pulumi_hcloud) (23.1.0)
Collecting protobuf~=4.21 (from pulumi<4.0.0,>=3.0.0->pulumi_hcloud)
Using cached protobuf-4.25.1-cp37-abi3-macosx_10_9_universal2.whl.metadata (541 bytes)
Collecting grpcio==1.56.2 (from pulumi<4.0.0,>=3.0.0->pulumi_hcloud)
Using cached grpcio-1.56.2.tar.gz (24.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting dill~=0.3 (from pulumi<4.0.0,>=3.0.0->pulumi_hcloud)
Using cached dill-0.3.7-py3-none-any.whl.metadata (9.9 kB)
Requirement already satisfied: six~=1.12 in /Users/hipertracker/.asdf/installs/python/3.12.1/lib/python3.12/site-packages (from pulumi<4.0.0,>=3.0.0->pulumi_hcloud) (1.16.0)
Collecting semver>=2.8.1 (from pulumi_hcloud)
Using cached semver-2.13.0-py2.py3-none-any.whl (12 kB)
Requirement already satisfied: pyyaml~=6.0 in /Users/hipertracker/.asdf/installs/python/3.12.1/lib/python3.12/site-packages (from pulumi<4.0.0,>=3.0.0->pulumi_hcloud) (6.0.1)
Using cached pulumi_hcloud-1.16.2-py3-none-any.whl (133 kB)
Using cached parver-0.5-py3-none-any.whl (15 kB)
Using cached pulumi-3.98.0-py3-none-any.whl (192 kB)
Using cached Arpeggio-2.0.2-py2.py3-none-any.whl (55 kB)
Using cached dill-0.3.7-py3-none-any.whl (115 kB)
Using cached protobuf-4.25.1-cp37-abi3-macosx_10_9_universal2.whl (394 kB)
Building wheels for collected packages: grpcio
...
File "/private/var/folders/vk/2_81bjsd7hbbyml7rv8s15z00000gn/T/pip-build-env-zqcvgtej/overlay/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py", line 187, in _compile
raise CompileError(msg)
distutils.errors.CompileError: 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 grpcio
Failed to build grpcio
ERROR: Could not build wheels for grpcio, which is required to install pyproject.toml-based projects

Output of pulumi about

❯ pulumi about
CLI
Version 3.98.0
Go Version go1.21.5
Go Compiler gc

Plugins
NAME VERSION
python unknown

Host
OS darwin
Version 14.2.1
Arch arm64

This project is written in python: executable='/Users/hipertracker/.asdf/shims/python3' version='3.12.1'

Current Stack: hipertracker/biblia8-infra/dev

Found no resources associated with dev

Found no pending operations associated with dev

Backend
Name pulumi.com
URL https://app.pulumi.com/hipertracker
User hipertracker
Organizations hipertracker
Token type personal

Dependencies:
NAME VERSION
pip 23.3.2
setuptools 69.0.2
wheel 0.42.0

Additional context

No response

Contributing

Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@hipertracker hipertracker added kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team labels Dec 20, 2023
@hipertracker
Copy link
Author

OK, this is a problem in Pulumi, which can work with Python 3.11, but not 3.12 at the moment. They do not support Python 3.12 because of some problems with grpcio. Maybe it is worth to mention in README that pulumi_hcloud can't work with Python 3.12 at the moment.

@iwahbe
Copy link
Member

iwahbe commented Dec 27, 2023

Hi @hipertracker. I'm sorry you had to debug this. This is indeed a problem with all pulumi providers due to a grpc bug. I'm going to pin this issue for visibility.

@iwahbe iwahbe removed the needs-triage Needs attention from the triage team label Dec 27, 2023
@iwahbe iwahbe pinned this issue Dec 27, 2023
@iwahbe iwahbe added the awaiting-upstream The issue cannot be resolved without action in another repository (may be owned by Pulumi). label Dec 27, 2023
@iwahbe
Copy link
Member

iwahbe commented Dec 27, 2023

This issue will be fixed by pulumi/pulumi#14258.

@VenelinMartinov VenelinMartinov added the resolution/fixed This issue was fixed label Aug 5, 2024
@VenelinMartinov
Copy link
Contributor

This was fixed in January

@VenelinMartinov VenelinMartinov unpinned this issue Aug 5, 2024
@mjeffryes mjeffryes added this to the 0.108 milestone Aug 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting-upstream The issue cannot be resolved without action in another repository (may be owned by Pulumi). kind/bug Some behavior is incorrect or out of spec resolution/fixed This issue was fixed
Projects
None yet
Development

No branches or pull requests

4 participants