Go programming language on the Pine64
#1
Just to confirm that the Go programming language runs on the Pine64.  This was announced in the Go forum a few days ago:  https://groups.google.com/forum/#!topic/...mY7IKVMMyE.  The person who posted thate announcement is running it under Debian Linux.  I'm running it under Ubuntu Linux.

Just to expand on that posting, Go doesn't work on the Arm64 out of the box.  To get started you need to create an intermediate version of Go using another machine that already has Go running.  (I used an Intel-based system running Ubuntu.  You could also use a Windows system.)  Use these instructions:  https://golang.org/doc/install/source, in particular the section "Optional Environment Variables".  When you build your intermediate system, specify the arm64 as the target architecture using GOARCH and specify the target operating as linux using GOOS:

export GOARCH=arm64
export GOOS=linux

Use GOROOT_FINAL to specify the location where you want the result to be stored on your Pine64. 

Once it's built, copy the resulting files onto your Pine64 and put the directory containing the go command into your path.  That gives you a working Go compiler.  For a quick test, run:

go version

which should display some information about the go compiler. That it runs at all is a good sign.

You could just use this version of the go compiler but it's nicer to download the source code of the Go system onto the Pine64 and compile it all over again.  The compilation process takes about ten minutes and gives you a Go system that was created from source on the Pine64.   It also acts as a fairly thorough check that the compiler is working OK.

You only need to go through that rigmarole once.  After that, when a new version of Go comes out, you can compile it from source code using your existing compiler.

The Go compiler will only work if it's stored in the directory that you specified using GOROOT_FINAL when you built it - you can't move it around later.  It's a very good idea to store the final version in /usr/local/go, so you may want to put the intermediate cross-compiled version somewhere else.

To find out more about Go, visit https://golang.org.  (There again, if you don't already know about Go, you are probably not reading this posting.)

Happy Going.

Simon
#2
(06-13-2016, 11:25 AM)simonritchie Wrote: ...
Just to expand on that posting, Go doesn't work on the Arm64 out of the box.  
...

Hm, 

Code:
sudo apt install -y golang

worked out of the box

Code:
ubuntu@p64:~$ go version
go version go1.6.1 linux/arm64
#3
Nice to be proved wrong Smile

That creates a go compiler in /usr/bin. It's version 1.6.1 of Go. The latest stable release is 1.6.2, but 1.6.1 is perfectly serviceable.

So umiddelb is right, you can install go much more easily than I described. If you just want to write Go programs, that's obviously the way to go.

However, if you want the latest stable release, or a beta test version, you will have to compile it from source, and I'm not sure that you can use a version installed via apt to do that. I just tried it and the builder script failed looking for yet another version of go - version 1.4. I then tried setting GOROOT_BOOTSTRAP to /usr (so that it would use /usr/bin/go to compile) but that failed in a different way.

I think that the instructions for compiling Go from source assume that you are using another compiler compiled from source, which is why you have to mess about with a cross-compiler to get started. If anybody knows better, please say.


Possibly Related Threads…
Thread Author Replies Views Last Post
Question External storage problem for pine64 Dani6102 4 2,662 08-22-2023, 08:36 AM
Last Post: gulshan212
  Pine64 as wireless audio device S265 3 4,147 04-07-2022, 10:39 PM
Last Post: S265
  Pine64(+) and manjaro dsychan 0 1,468 04-05-2022, 11:32 PM
Last Post: dsychan
Thumbs Down Pine64 was a Useless Project pushpendrak 18 32,278 11-21-2020, 10:17 PM
Last Post: tllim
  Pine64 LCD rstcologne 0 3,454 09-22-2020, 12:43 PM
Last Post: rstcologne
  Pine64+ power button PaddyChan 0 3,146 09-14-2020, 09:55 AM
Last Post: PaddyChan
  Pine64 OS dpcons 2 5,507 03-02-2020, 04:32 PM
Last Post: dpcons
  Jailhouse supports Pine64+ vj-kumar 0 3,152 02-17-2020, 11:39 PM
Last Post: vj-kumar
  PINE64 board not powering up loki21century 2 6,291 11-25-2019, 12:19 PM
Last Post: Partymack711
  Pine64 not powering up. skylab 5 8,340 05-03-2019, 02:48 PM
Last Post: Mendota

Forum Jump:


Users browsing this thread: 1 Guest(s)