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 aarch64 CPU architecture in gRPC extension code generation #17886

Closed
jamesnetherton opened this issue Jun 14, 2021 · 10 comments
Closed
Labels
area/grpc gRPC kind/enhancement New feature or request

Comments

@jamesnetherton
Copy link
Contributor

Description

It'd be useful if the gRPC extension protobuf code generation steps could work with aarch64.

See this reported issue in the camel-quarkus project apache/camel-quarkus#2762.

Implementation ideas

Upgrade protoc to 3.17.3 as aarch64 seems to be supported:

https://repo1.maven.org/maven2/com/google/protobuf/protoc/3.17.3/

@jamesnetherton jamesnetherton added the kind/enhancement New feature or request label Jun 14, 2021
@quarkus-bot
Copy link

quarkus-bot bot commented Jun 14, 2021

/cc @cescoffier, @michalszynkiewicz

@michalszynkiewicz
Copy link
Member

we need to see if vertx-grpc is compatible with this

@cescoffier
Copy link
Member

@pmlopes do you know with Vert.x gRPC works with aarch64?

@pmlopes
Copy link
Contributor

pmlopes commented Jun 16, 2021

@cescoffier while this is totally possible:

vert-x3/vertx-grpc#103

Netty versions are still preserved and tests pass, I can only assume that you will be able to compile proto files as protoc now offers a native aarch64 binary and the jprotoc/canteen plugins we use to run our templates from java also seem to offer thse binaries:

https://repo1.maven.org/maven2/com/salesforce/servicelibs/canteen-bootstrap/1.1.0/canteen-bootstrap-1.1.0-osx-aarch_64.exe

I don't have access to this hardware setup so I cannot be 100% sure that after merging the PR you can bump the vert.x dependency and close this issue.

@michalszynkiewicz
Copy link
Member

So, protoc is indeed there but protoc-gen-grpc-java is not...
I don't have the hardware to check if it's possible to use some other binary for protoc-gen-grpc-java with e.g. osx-x86_64...

@michalszynkiewicz
Copy link
Member

michalszynkiewicz commented Jul 26, 2021

People write this is possible with Rosetta.
This PR: #18992 upgrades grpc to the version used by vertx-grpc and allows to override the os classifier, so in case of M1+rosetta, should allow mac users to use osx-x86_64 binaries, if I understand it correctly.

@michalszynkiewicz
Copy link
Member

michalszynkiewicz commented Jul 26, 2021

I don't want to close this issue yet, let's close it when we have a proper fix (when protoc-gen-grpc-java is released for osx-aarch64)

@Karm
Copy link
Member

Karm commented Dec 7, 2021

Hello @michalszynkiewicz, Mandrel has aarch64 builds available on https://github.com/graalvm/mandrel/releases/tag/mandrel-21.3.0.0-Final

Is this issue actually resolved or does it make sense to include these tests in aarch64 Quarkus TS runs?

@michalszynkiewicz
Copy link
Member

michalszynkiewicz commented Dec 8, 2021

It is nearly resolved ;)

The only thing that's not great is that building Conscrypt is required for some use cases, I'm guessing TLS ones. See #21417

@michalszynkiewicz michalszynkiewicz removed their assignment Aug 26, 2022
@cescoffier
Copy link
Member

Fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/grpc gRPC kind/enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants