New issue
Advanced search Search tips

Issue 812909 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Need to build "infra/python/cpython/" for linux-armv6l and linux-arm64

Project Member Reported by iannucci@chromium.org, Feb 16 2018

Issue description

Currently we issue swarming tasks with this package, but they currently can't work on linux arm machines.

Related to issue 794657. We've had to hack this up to only include cpython package on windows bots too: issue 812693.

I think that we can use dockcross to do this easily, but we'll have to make sure the linux machine we build on has docker. 
 
We have some puppet support for installing docker: https://chrome-internal.googlesource.com/infra/puppet/+/f305e675716490c749a8a4842f65a8960323b7a3/puppetm/etc/puppet/modules/chrome_infra/manifests/packages/docker.pp

So configuring a bot to run (some random version) of docker (that never updates) shoulnd't be too hard.

Comment 2 by d...@chromium.org, Feb 16 2018

We build this for linux-amd64. Did you mean ARM64?
Summary: Need to build "infra/python/cpython/" for linux-armv6l and linux-arm64 (was: Need to build "infra/python/cpython/" for linux-armv6l and linux-amd64)
whoops yes

Comment 4 by d...@chromium.org, Feb 16 2018

So we have all of the tools necessary to build this for those platforms in "dockcross". The real question is: how much tweaking do we need to add to the Linux build instructions to support cross-compiling?

My plan (that I never had time to really pursue) was:
1) Add a command to "dockerbuild" to run arbitrary commands in the dockcross environment.
2) Modify the recipe to optionally run its commands through a wrapper, in this case either None (current OS) or dockcross (1).
3) Lots of builds/tests :(

An alternative plan is to get native ARM builders. This would make the cross-compiling integration part disappear, but I think is ultimately a bad idea, since it creates a hardware (or emulation) requirement that's non-trivial to meet and sustain.
Status: Available (was: Untriaged)

Sign in to add a comment