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

Arm64 support on Linux #1550

Merged
merged 13 commits into from
Sep 26, 2018
Merged

Arm64 support on Linux #1550

merged 13 commits into from
Sep 26, 2018

Conversation

ArielleA
Copy link
Contributor

Arm64 support fixes #1506 requires pull request bazelbuild/bazel#5360

@steeve
Copy link
Contributor

steeve commented Jun 17, 2018

That one looks great, and might even make split configurations work when building ios and android multi arch targets.

@jayconrod
Copy link
Contributor

Change looks good, but it's failing tests. Something about toolchains not being registered. I'll take a look today and figure out what's happening.

@ArielleA
Copy link
Contributor Author

It's almost certainly because the cpu constraint isn't exported in bazel-tools/platform. That export is in my pull request #5360. Should I withdraw and resubmit once the dependant pull request is complete?

@jayconrod
Copy link
Contributor

Ok, that makes sense.

Let's keep this PR open and wait until bazelbuild/bazel#5360 has been merged and released in a new version of Bazel. At that point, rebase to master and ping me to take another look. I'll update the minimum supported version of Bazel and merge this.

@googlebot
Copy link

So there's good news and bad news.

👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there.

😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request.

Note to project maintainer: This is a terminal state, meaning the cla/google commit status will not change from this state. It's up to you to confirm consent of the commit author(s) and merge this pull request when appropriate.

@jayconrod
Copy link
Contributor

Bazel 0.15.0 is now released. I'd like to to one more major release of rule_go (likely early next week) before merging this PR and making Bazel 0.15.0 the minimum supported version.

@vielmetti
Copy link

The Bazel 0.15.0 release issue is here: bazelbuild/bazel#5057 for reference.

@jayconrod
Copy link
Contributor

I updated this PR to tip of master. It looks like the aarch64 platform didn't actually make it into Bazel 0.15.0 (which is now the rules_go minimum supported version). I can confirm the build works with Bazel 0.16.0rc4 at least, but I can't make 0.16.0 the minimum version yet.

@vielmetti
Copy link

Thanks @jayconrod . What is the release cadence for Bazel? Trying to determine at what pace I need to track this to get these changes incorporated into projects up and downstream.

@jayconrod
Copy link
Contributor

@vielmetti Bazel aims for a release every month, but they are quite late this month. You can track this month's release at bazelbuild/bazel#5058.

@lubinsz
Copy link

lubinsz commented Aug 2, 2018

@jayconrod
Can you merge it?
I have tested this patch, use bazel 0.16.0 to compile gvisor@Arm64. It works fine.
For your reference:

root@bin:/go/src/github.com/google/gvisor-debug# bazel build runsc
Starting local Bazel server and connecting to it...
...................
INFO: SHA256 (https://github.com/lubinsz/rules_go/archive/99e775b541860087f6b7a82203267cd985460f85.tar.gz) = fca945b84fd882ada7c55f8da7a0253161614ab54e4ca3b5202199c346015ebc
INFO: SHA256 (https://codeload.github.com/google/protobuf/zip/106ffc04be1abf3ff3399f54ccf149815b287dd9) = 4d127e1c3608803bc845cc4b3c8c42a6a16263b6ddcb932b53049e7ec8101398
INFO: Analysed target //runsc:runsc (182 packages loaded).
INFO: Found 1 target...
Target //runsc:runsc up-to-date:
bazel-bin/runsc/linux_arm64_pure_stripped/runsc
INFO: Elapsed time: 131.884s, Critical Path: 56.17s
INFO: 585 processes: 575 linux-sandbox, 10 local.
INFO: Build completed successfully, 601 total actions
root@bin:/go/src/github.com/google/gvisor-debug#
root@bin:/go/src/github.com/google/gvisor-debug#
root@bin:/go/src/github.com/google/gvisor-debug# uname -a
Linux bin 4.15.0-rc8+ #1 SMP Mon Jul 16 14:37:25 CST 2018 aarch64 aarch64 aarch64 GNU/Linux
root@bin:/go/src/github.com/google/gvisor-debug#

@jayconrod
Copy link
Contributor

@lubinsz This breaks on Bazel 0.15, which is our minimum supported version.

I'm planning to tag a release of rules_go next week. We can bump the minimum supported Bazel version after that and then merge this.

@steeve
Copy link
Contributor

steeve commented Aug 2, 2018

This might need rebasing on master too

@ArielleA
Copy link
Contributor Author

ArielleA commented Aug 2, 2018

I'll rebase it once 0.17 is out, allow us to get some more issues with the Arm64 port resolved.

@lubinsz
Copy link

lubinsz commented Sep 26, 2018

@ArielleA @jayconrod @steeve
Can we merge it now?

@jayconrod jayconrod merged commit be231c1 into bazel-contrib:master Sep 26, 2018
@jayconrod
Copy link
Contributor

@lubinsz Now that Bazel 0.17 is out, we should be fine. Merged.

@lubinsz
Copy link

lubinsz commented Oct 8, 2018

@jayconrod
Hi,
When will the new version be released with this patch in https://github.com/bazelbuild/rules_go/releases?
Thanks.

@jayconrod
Copy link
Contributor

@lubinsz I expect we'll tag a major release this week.

alexandruavadanii added a commit to alexandruavadanii/rules_go that referenced this pull request Mar 4, 2019
Squashed and backported all commits in PR [1] from
Arielle Albon <[email protected]>

[1] bazel-contrib#1550

Signed-off-by: Alexandru Avadanii <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

arm64 support
10 participants