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

grpcio builds from source #77

Open
devoxel opened this issue Oct 15, 2018 · 2 comments
Open

grpcio builds from source #77

devoxel opened this issue Oct 15, 2018 · 2 comments
Labels
bug Something isn't working

Comments

@devoxel
Copy link

devoxel commented Oct 15, 2018

This is because the alpine docker does nothing to prevent "manywheels" installations, which cause grpcio to build from source.

See grpc#11125 and pip#3969.

We have a few options for fixing:

  • As Ross pointed out, we could create an image for heavier building dependencies, and inherit from that
  • We could disable manywheels (we probably still should), so that we don't build from source

Thought filing an issue would let us track this better.

@devoxel devoxel added the bug Something isn't working label Oct 15, 2018
@devoxel
Copy link
Author

devoxel commented Oct 15, 2018

We could alternatively properly layer our builds (by putting dependencies related to each consumer on separate lines) or use multi-stage builds

Multi stage is probably a little over-engineering, docker will cache each line of the Dockerfile if the line doesn't change. If a line towards the top of the list changes, then all layers beneath are rebuilt.

@CianLR
Copy link
Member

CianLR commented Oct 15, 2018

I think the idea of sticking grpcio as one of the first lines is decent, everyone goes through it once but it's cached from then on.

I'm not familiar with manywheels though, if disabling that is an easy fix then perhaps that's we should do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants