-
Notifications
You must be signed in to change notification settings - Fork 17.4k
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
build: provide ARM release binaries? #13066
Comments
I would really appreciate pre-compiled tarballs for ARMv6 and ARMv7 (maybe later ARMv8 as well). Since the test suite is already running on Scaleway, it would be easy to support at least ARMv7. Compiling Go from source is typically damn slow on some ARM board like the RPi. |
Agree! |
I would like to see official ARM releases at least for the most common boards like RPi. |
@DieterReuter i'll see what can be done for arm6 and arm7. Arm8 will not be possible, but it's not a big deal as most arm64 systems are within 2x of their intel counterparts so compiling from source is a few minutes work. |
@davecheney thanks. Do you think we could compile ARMv6 and ARMv7 on the Scaleway machines? I'm not sure with the ARMv6 version. |
yes that is the plan.
Yes, see the dashboard. |
Ah, cool. Right now we just need ARMv6 and ARMv7 versions to build this Docker thing way faster on Scaleway (and these slow Pi's and other ARM boards as well). I'd really appreciate if we could use official pre-compiled versions. |
@davecheney Because I need the pre-compiled tarballs for ARM prior to the release of Go 1.6, I just created an easy build script to create the ARM tarballs from scratch on a freshly installed Linux machine (without the need to have Go already available). Please feel free to check it out and comment https://github.com/hypriot/golang-armbuilds. |
Could we initially start providing ARMv7 binaries? Due to the bootstrapping requirement, building from source is a lot of work nowadays and discourages the users. |
@rakyll Thanks for this request, that's exactly the reason I'm asking for this too. As a user I just like to install a Go compiler to compile my programs from source. I really don't like to bother with bootstrapping and compiling the Go compiler myself. It takes hours and hours and I run constantly into some problems. Right now each and every user has to do this steps, without detailed informations about the official or recommended way (sorry Go team, it's not well documented right now)! That's just cumbersome and boring and leads to errors and frustrated users. For this reason I did created a public repo with all the details. We could use it in the meantime until pre-compiled Go tarballs are available for all ARM versions. How to compile Go on ARM devices for 1.4 and 1.5 is essential to know. The build process is documented and, it just requires But you don't have to compile Go by your own on a slow ARM device, I just included all pre-compiled tarballs for the recent Go 1.4 and 1.5 releases as a GitHub release. Just download and install it the usual way:
I feel, it's mandatory to provide 100% transparancy - that's open source for me. With a complete build documentation everybody can bootstrap Go on any Linux device just with Disclamer: my repo is WIP now and will hopefully superseeded by official downloads soon. |
http://dave.cheney.net/2015/10/16/bootstrapping-go-1-5-on-non-intel-platforms Feel free to copy this information into the go wiki or send a CL to update Thanks Dave On Mon, 23 Nov 2015, 18:34 Dieter Reuter notifications@github.com wrote:
|
Also ./make.bash takes around 20% of the full ./all.bash time. You don't On Mon, 23 Nov 2015, 18:44 Dave Cheney dave@cheney.net wrote:
|
Lastly, please make sure you let your distribution of choice know how much On Mon, 23 Nov 2015, 18:47 Dave Cheney dave@cheney.net wrote:
|
@davecheney Thanks for this details and infos. We really should include this build informations into upstream, that's exactly the place where a new user show find it. I'm really happy to help in this process too! |
There is a GoArm Wiki page that anyone can edit, but I'm not sure how easily people will discover it. Official ARM builds for Go 1.6 would be great. As one example, Raspian (Raspberry Pi) uses Debian Jessie but the Go and GCC versions are dated enough that they can't be used to bootstrap a newer version of Go. Official binaries could make it a lot easier to try Go, especially for people who are just learning programming. |
Why would anyone use a pi to build Go... The phone in your pocket is
probably a better choice.
|
@jhorst The Pi intended for people learning programming and hardware, and I believe Go is a good language for learning computers. This is probably not the place for this discussion though. You can reach me at gopher@nathany.com if you like, or we can chat on the forum or mailing list. |
@davecheney, @bradfitz: According to using some build servers for ARM64: What kind of devices do you use right now for testing Go on ARM64? I'd like to figure out, if we can find some cloud provider or manufacturer who would like to sponsor some ARM64 machines. I'm already in direct contact with ARM and with some of the new server/cpu manufacturers for ARM64 and hoping to find some possible solution - can't promise anything right now, but I'll try my best. My goal would be, to get official ARM64 binary builds too. How much build servers or instances would we need? Preferable as a cloud service or is it possible to use on-premise too, with a high-speed internet access of course? |
@davecheney: I'd like to report a successful install of "Unofficial Go 1.5.2 linux/arm tarball" on a raspberry pi (model 1). I had some issues which vanished after completely un-installing the old raspbian/debian package of golang (which was 1.0something). |
On 19 December 2015 at 00:50, Dieter Reuter notifications@github.com
|
@mwhudson, Applied Micro X-Gene is pretty ok. But why don't provide a ARM64 binary release? Honestly, if I'd like to use Go 1.5, I don't like to install gcc and some old weird tools first, then compiling Go 1.4 and finally get to a Go 1.5 runtime. Then I only have it built by myself, and have to run all the tests to get sure, that everything is fine. With a pre-build and fully tested tarball of a Go 1.5 runtime, we just have to install and use it. And we could be sure, it's completely tested as well. I think you can agree too. |
See my blog for details for how to build a bootstrap toolchain without On Mon, 21 Dec 2015, 07:15 Dieter Reuter notifications@github.com wrote:
|
I'd love to see Go 1.5 precompiled for the raspberry pi. I am currently in Hour 3 of waiting for it to compile. :) |
We did ARM binaries for Go 1.6 beta 1, so I think we can close this now. I don't think we'll be doing them for Go 1.5. |
@bradfitz @DieterReuter I cannot find these binaries. Please can you link me? |
@alexellis Please have a look here: https://golang.org/dl/ |
Thank you. I looked at the release page for Go and didn't see it there, this works 👍 |
Should we provide linux-arm release downloads?
Currently they're provided by @davecheney at http://dave.cheney.net/unofficial-arm-tarballs
But we can easily add one line to cmd/release and ship them too. But should we, and which?
We had this conversation once but I can't find the bug. Maybe it was email.
/cc @adg @davecheney
The text was updated successfully, but these errors were encountered: