-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Bazel binary for aarch64 architecture #8833
Comments
I'm glad to see you got it to build for aarch64. Doing a distribution for that architecture is probably not going to be a priority right now. We would need test infrastructure and it would multiply the number of packages to publish. If this were to be done as part of an overall Debian packaging project (rather than a standalone binary with the Bazel releases), would that be of interest? |
I'm interested in helping provide test infrastructure to make this happen, as part of the Works on Arm project. There has been work going on for about a year now to support this, cf https://github.com/WorksOnArm/cluster/issues/102 with the help of @ArielleA . One of the motivating factors for this is arm64 support for Tensorflow, which depends on Bazel. |
@ossdev07 Thanks for trying Bazel on ARM! @aiuto I don't see how it would "multiply" our packages if we provided additional Linux binaries built on ARM64? That's just one binary and the installer, right? The lack of machines is an issue, though... @vielmetti Thanks again for sponsoring that machine 😊 I've been working on it and am currently integrating it into our Buildkite CI so that we can run postsubmit tests on it and keep an eye on the platform so that we don't accidentally break it. I also fixed the remaining issues with bootstrapping, so that beginning from Bazel 0.28.0 you can bootstrap it via In order to build official binaries though, we'd need more ARM64 machines, so that we can run presubmit tests without slowing developers down and one additional machine that we can use as a "trusted" machine that has limited login access and is only used to build release binaries on. I'll ask some of the TensorFlow people about their plans for the platform and will get back to this. |
you may still hit this issue: #7135 but workaround suggested there seems to work |
Here is a 0.29 binary built with ubuntu 18 aarch64 and JDK8 |
How can I use this on tab s5e runing ubuntu under termux |
The Bazel 1.0.0 release is out; if anyone has a 1.0.0 version for arm64, that would be useful news. |
What about just arm32/armv7? i.e. "runs on Raspberry Pi" One of the problems with getting Envoy (k8s network proxy) to work on Pi is its bazel based build. |
I only have a raspberrry pi4. I you can build on arm32 happy to merge it in |
@pisymbol I'd suggest a separate issue for the arm32/armv7 "Raspberry Pi" port for Bazel. That's a 32-bit architecture (aarch64 is 64-bit) and may have a complete other set of technical considerations. The Pi 4 will run 64-bit operating systems, though stock Raspbian is 32-bits only. (And yes, building Envoy is one of my targets for this.) |
At Linaro we currently host a number of Aarch64 CI environments and have taken on-board the need to include Bazel due to Tensorflow requirements. Our initial work, some time ago, gave rise to this solution - https://collaborate.linaro.org/display/BDTS/Building+and+Installing+Tensorflow+on+AArch64 Our CI for Tensorflow is: https://github.com/Linaro/hpc_tensorflowci Our teams have a high interest in ensuring that dependencies for builds are available and work for Aarch64. Current AI/ML interests are here: https://www.linaro.org/engineering/artificial-intelligence/ What we would like to propose is being invited to submit results of builds to a Community Supported Builds page. (And any offer of additional hardware to support the CI infrastructure is greatly appreciated!). Naturally, in the longterm we would hope that full support for the overall package on Aarch64 would be included by default alongside other architectures. I look forward to receiving your feedback. Paul. |
Thank you all for the feedback here! I'm happy to say that we have been sponsored a shiny new and powerful ARM64 server hosted by Packet thanks to @vielmetti :) I'm currently setting it up and will get us some semi-official ARM64 builds for Bazel using that machine. I'll then look into hooking it up to Bazel's CI to ensure that we keep Bazel on ARM in reasonable shape. I'll keep you updated here how it goes. @neuralmimicry I'll add "Community Supported Builds" to our website. Do you have a link that I should add there where you host your builds? |
Building Bazel 3.1.0 on the new ARM64 server worked out of the box just like on a x86_64 machine, no flags or anything special required:
I was then able to use that Bazel binary as usual to build Bazel from a normal |
My process:
|
@philwo I was unable to reproduce what you said worked in your last post (below is my Dockerfile based on your post). Would you provide more details, perhaps a Dockerfile?
|
@settle I think you're only missing FWIW, technically Bazel would be fine with |
@philwo Thanks for that missing piece! I'm now able to successfully build bazel on my Raspberry Pi 4 running Ubuntu 18.04.4 aarch64. @powderluv Thanks for that tip! I also noticed in TensorFlow's devel-cpu-ppc64le.Dockerfile they used the following hack so they don't need to install python2. I tested this hack while building bazel (staying as close to the TF way above) and it worked.
|
Relating a recent request from a member of the Envoy team (Harvey) to get a supported binary release of Bazel for arm64. |
The chances are very good that Bazel 3.4 will be the first release that comes with official arm64 binaries built on our packet.net machine integrated into our Bazel CI. 🎉 |
Look forward to that. When will be Bazel 3.4 out? |
The release baseline was picked today, so if all goes well it should be out in ~2 weeks. |
Thank you @philwo ^ ^ |
Hello , i want to build tensorflow with bazel for aarch64 but i cannot find the binary installer for aarch64 and i cannot docker buildx build wihtout it for aarch64. |
This blog post: https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/aarch64-docker-images-for-pytorch-and-tensorflow |
Official Bazel 3.4.0 binaries for arm64 Linux have been released. Direct download links:
Please let me know if you encounter any issues with these. Next, I'll add support for arm64 to Bazelisk. |
@philwo , so it is able to execute on smartphones and tablets? |
Bazel 3.4.0 has Arm64 release, however, didn't see 3.4.1 has Arm version. Why? |
@tinatsou Sorry for the delay. Bazel 3.4.1 binaries are now available on our GitHub release page and on https://releases.bazel.build/3.4.1/release/. The release process is still partly manual for arm64, I'm working to automate and integrate it fully with the other platforms for future releases. |
@advancedwebdeveloper If you have a smartphone or tablet that runs Linux, it should work :) Let us know if you get it working! |
@philwo , is it possible to that working during remote demos and workshops? |
Thank you @philwo |
I believe this issue is resolved, should we close this? |
Hi everyone, I am a bit of a new programmer, I am trying to Install Bazel on my Ubuntu ARM64 20.04
Sorry for my ignorance, but how do install using this file? |
@herrahmo You can just download the Bazel file, put it somewhere and run it. I usually move it to |
Is there a roadmap for support for |
@mihaigalos Can you open a separate issue for tracking purposes? This issue has been closed. |
Description of the problem / feature request:
Bazel binary is not present for the aarch64 architecture.
Feature requests: what underlying problem are you trying to solve with this feature?
To provide multi-architecture support in bazel
What operating system are you running Bazel on?
Linux
Any other information, logs, or outputs that you want to share?
I have tried to build bazel on my local aarch64 machine, by following the instruction mentioned at https://docs.bazel.build/versions/master/install-compile-source.html#bootstrap-bazel
To build the bazel from source code I have used
bazel-0.27.1-dist.zip
. I was successfully able to build and generate the binaryI am curious to know if you will be interested in providing the binary for aarch64 architecture.
The text was updated successfully, but these errors were encountered: