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

Power support #2325

Merged
merged 2 commits into from
Oct 25, 2016
Merged

Power support #2325

merged 2 commits into from
Oct 25, 2016

Conversation

npanpaliya
Copy link
Contributor

Changes required to build grpc-java on ppc64le architecture.

After making these changes, grpc-java still fails for netty-tcnative jar not being available for ppcle_64. So, I built netty-tcnative from source on my system and made grpc-java to point to that. After this, ./gradlew build command does complete successfully.
For netty-tcnative jar, I've requested netty community to publish a jar for ppcle_64 arch on maven's central repository. netty/netty-tcnative#194.

I've also verified my changes on x86_64 platform to ensure nothing breaks there.

@grpc-kokoro
Copy link

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

@npanpaliya
Copy link
Contributor Author

Also a note, in order to build grpc-java on ppc64le arch, one would need to build protobuf from tag 3.0.2 and protoc-gen-javalite from v3.0.0-javalite tag. And then build grpc-java as -
./gradlew build -Pprotoc=/usr/local/bin/protoc -Pprotoc-gen-javalite=/usr/local/bin/protoc-gen-javalite

@ejona86
Copy link
Member

ejona86 commented Oct 7, 2016

This is functionally equivalent to the patch I posted in #2202 (comment) . My patch should fix most of the various non-x86 platforms. The only thing is that it won't allow cross-compiling or choosing to use 32 bit on a 64 bit machine.

Would you mind testing it and confirming that it works for powerpc?

@npanpaliya
Copy link
Contributor Author

Thanks @ejona86 .
I'll surely verify and confirm this to you.

@npanpaliya
Copy link
Contributor Author

Hi @ejona86 ,
I tried your PR but it still gives me error as below -

$ ./gradlew build -Pprotoc=/usr/local/bin/protoc -Pprotoc-gen-javalite=/usr/local/bin/protoc-gen-javalite
*** Building codegen requires Protobuf version 3.0.0-beta-3
*** Please refer to https://github.com/grpc/grpc-java/blob/master/COMPILING.md#how-to-build-code-generation-plugin

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':grpc-compiler'.
> Exception thrown while executing model rule: NativeComponentModelPlugin.Rules#createBinaries
   > Invalid NativePlatform: ppcle_64

@npanpaliya
Copy link
Contributor Author

Hi @ejona86, As the older PR of yours doesn't seem to server our purpose for Power, could you please consider my PR for merging?

@ejona86
Copy link
Member

ejona86 commented Oct 24, 2016

@npanpaliya, I don't really believe the test results you provided; I feel like something else was in play. The problem is I will likely quickly break the support if I don't understand why my changes failed to work, because I want to refactor that part of the script.

@ejona86
Copy link
Member

ejona86 commented Oct 25, 2016

retest this please (this is for Jenkins)

@carl-mastrangelo
Copy link
Contributor

@npanpaliya This PR is probably fine, but gRPC team doesn't have the powerpc hardware to make this always works. If this is submitted, please be aware we may break this in the future.

Aside from that generally LGTM.

@ejona86 ejona86 merged commit 862157a into grpc:master Oct 25, 2016
@lock lock bot locked as resolved and limited conversation to collaborators Jan 21, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants