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

Prebuilt binaries for s390x #296

Closed
mastersingh24 opened this issue Apr 30, 2018 · 24 comments
Closed

Prebuilt binaries for s390x #296

mastersingh24 opened this issue Apr 30, 2018 · 24 comments

Comments

@mastersingh24
Copy link

mastersingh24 commented Apr 30, 2018

Are binaries for s390x built? If not, if we were willing to do so, how would we go about getting integrated into the build cycle?

@nicolasnoble
Copy link
Member

Binaries for s390x aren't built, no. The only acceptable method for us to provide pre-compiled packages would be through cross compilation, the same way the arm cross compilation scripts work. I guess this s390x cross compiler might work.

Note that we have absolutely no way of testing that architecture whatsoever, and packages provided would be with no guarantee, and very restricted support.

@mastersingh24
Copy link
Author

@nicolasnoble - thanks for getting back quickly. I actually work for IBM (so of course we have plenty of s390x machines). We make heavy use of gRPC and Node as the IBM Blockchain platform actually uses Hyperledger Fabric. We currently provide s390x test/build machines for the open source Fabric project. Would it make sense for us to possible try to make the same offer here?

@nicolasnoble
Copy link
Member

We can discuss, yes :-) In the immediate future, I'd be happy to take a PR from you to add s390x cross compilation support if this is something that is possible, and make this architecture a "tier3" support - aka, we acknowledge support from the community for this.

In order to basically say s390x is "tier2", we would need to have access to some s390x machines somehow in order to say we can react to bug report ourselves, and not rely on the community to fix these.

For "tier1", this would mean continuous integration testing. As of right now we're using Google's modification of Jenkins for all our gRPC build and testing. In the near future, this platform will accept external hardware connections to support nodes that are otherwise not supported internally at Google.

So right now, I can see a "tier3" support very quickly, if you are willing to provide the expertise. For tier2 or even 1, I think we should have a conf call or something to see what we could do exactly here.

@mastersingh24
Copy link
Author

Sounds good. We'll take a look at the cross compilation option as an initial step.

@ptippett
Copy link

ptippett commented May 4, 2018

@mastersingh24 I'm starting to chase this down.

@ptippett
Copy link

ptippett commented May 4, 2018

@nicolasnoble I've just started to work on this at IBM to find some capacity and get it set up. I'm told google is building golang binaries on s390x, so maybe talking to them to see if they have capacity would be another option?

@nicolasnoble
Copy link
Member

That's a good question. I can try to track down the team doing this to see how they do it exactly.

@nicolasnoble
Copy link
Member

Apparently, the s390x resources for building and testing golang natively are provided by another IBM employee, @mundaym.

@ptippett
Copy link

ptippett commented May 4, 2018

OK thanks..I'll talk to him.

@vmorris
Copy link

vmorris commented May 14, 2018

@nicolasnoble can we get a conference call scheduled for this? We have the build system ready and I would like to know what the next steps are to get "tier 1" support in place.

As for "tier 2", I'm happy to hand over the credentials to you, if you would please contact me via email: vmorris@us.ibm.com

Thanks.

@nicolasnoble
Copy link
Member

I'll send you an e-mail directly to schedule a conf call and everything.

@vmorris
Copy link

vmorris commented Jun 29, 2018

Hi @nicolasnoble -- Can you report any status on how the s390x system is working out? Have you had any difficulties or successes you can share?

@vmorris
Copy link

vmorris commented Jul 5, 2018

We are still hitting this in production environments:

node-pre-gyp ERR! Tried to download(403): https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.10.1/node-v57-linux-s390x-glibc.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for grpc@1.10.1 and node@8.9.4 (node-v57 ABI, glibc) (falling back to source compile with node-gyp) 

It takes about 5 minutes for the build to complete.

@vmorris
Copy link

vmorris commented Aug 2, 2018

@nicolasnoble Any update you can share regarding this issue?

@sanjeevgour
Copy link

@mastersingh24 @vmorris -- Hello Guys, I am also trying to make the grpc server work on IBM zLinux (s390x) system, I haven't made a lot progress yet. While trying to compile grpc, it ended up asking about protobuf 3.5.0+ for which I didn't find readily available binaries supported for s390x, so I halted my work there. Looking around for help, I came across this post.
Were you guys successful in compiling grpc on s390x. Any pointers in this direction would be helpful.

Thanks.

@vmorris
Copy link

vmorris commented Oct 25, 2018

You'll want to talk to @nicolasnoble I think... last I checked we left it in his hands.

@sanjeevgour
Copy link

@vmorris - Sure, thanks.
@nicolasnoble - Do you have anything latest on that can help us make progress?

@ptippett
Copy link

Hi Guys.

@nicolasnoble Someone asked me about this today. Did this get dropped? Can we get it moving again?

@shahidhs-ibm
Copy link
Contributor

Not sure if this is right place but as per Protobuf issue comment, it looks like grpc and Protobuf share a common CI. Also as this issue talks about building and publishing binaries on s390x, I am adding my comment for discussion here.

As we have completed the PR#1230, I am curious to know if similar shell script changes would be required for Protobuf to build correct s390x binaries? It seems like protobuf PR#6558 has no effects in the Kokoro CI grpc project which builds binaries for Protobuf.

Any help or pointers is highly appreciated.

@murgatroid99
Copy link
Member

I suggest bringing that up in the Protobuf repository. We share CI infrastructure but they still have their own CI scripts.

@shahidhs-ibm
Copy link
Contributor

@murgatroid99 Thank you for reply. We'll check with Protobuf for more insight on CI.

@shahidhs-ibm
Copy link
Contributor

The latest grpc version 1.24.3 got released today have s390x binary support. Thank you @murgatroid99 for excellent support :)
This issue can be closed.

@Erick-shi
Copy link

The latest grpc version 1.24.3 got released today have s390x binary support. Thank you @murgatroid99 for excellent support :)
This issue can be closed.

could you please send the protoc binary to me ?

@shahidhs-ibm
Copy link
Contributor

could you please send the protoc binary to me ?

Here we are talking about grpc binary which can be installed using npm i grpc command. The issue of wrong protoc binary getting published for s390x still exists and we are in discussion with community for same.

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

No branches or pull requests

8 participants