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

Support for Apple M1 processors #492

Closed
yuzawa-san opened this issue May 3, 2021 · 5 comments · Fixed by protocolbuffers/protobuf#8557
Closed

Support for Apple M1 processors #492

yuzawa-san opened this issue May 3, 2021 · 5 comments · Fixed by protocolbuffers/protobuf#8557

Comments

@yuzawa-san
Copy link

Per the README, this plugin uses the osdetector.classfier which is normally correct:

The syntax for artifact follows Artifact Classifiers where the default classifier is project.osdetector.classifier (ie "${project.osdetector.os}-${project.osdetector.arch}") and the default extension is "exe".

On M1 macs, the classifier is osx-aarch_64 which is correct, but according to some other threads it does not appear that this classifier will be published in the near future or later:

The latter thread has lots of solutions that mostly involve manually overriding the classifier. I propose adding the override logic into this plugin, so folks do not need to track down that latter issue and choose their own patchy solution.

The next version's release candidate does not have the classifier yet.

I am willing to open a PR which modifies this logic to overwrite osx-aarch_64 to osx-x86_64 (which is compatible).

If/when the osx-aarch_64 classifier is published, this logic can be removed.

@ejona86
Copy link
Collaborator

ejona86 commented May 4, 2021

I don't think changing the logic in this plugin helps much, as that logic then has to be protobuf-version specific, forever. I was thinking about this earlier today. I wonder if the least-bad thing to do is to have protobuf and grpc publish the x86_64 binary also with the aarch_64 name.

@yuzawa-san
Copy link
Author

@ejona86 I took a stab at implementing your idea, since I do like your idea a lot more and the maintainers of the protoc can swap out to a real M1 version whenever they are ready.

@ghost
Copy link

ghost commented May 14, 2021

I don't like this idea. I would rather explicitly specify that I am using a non-native artifact as opposed to having it be hidden inside the plugin. Maybe all the issues will help increase priority for true aarch64 support?

@neakor
Copy link

neakor commented Sep 24, 2021

Any updates on this issue?

@ejona86
Copy link
Collaborator

ejona86 commented Sep 24, 2021

This is not an issue with the plugin, so closing. Protobuf is already (at least) copying the x86_64 binary to the proper name for m1. grpc/grpc-java#7690 tracks support in grpc-java.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants