Welcome to the goios wiki!
How to run Go tip (1.5+) arm64 port all.bash on jailbroken iDevice:
Due to circular dependencies, you have to build runtime/cgo on another machine.
you also need to apply some patches to cmd/dist and cmd/internal/ld:
I assume you have a native toolchain in
~/iossdk (you can get one native SDK here: https://bitbucket.org/minux/goios/downloads/iossdk-c-only-v2.tar.bz2)
and a bootstrap version of Go 1.4 in
~/go1.4 (the arm port can still
be built using internal linking, thus without the circular dependency
issues, use commit ff1a23f3683a8ea0636f5510f929269409f5221a, or tag
On desktop darwin machine:
$ ./make.bash # make sure to use the same commit as the iOS device $ CGO_ENABLED=1 CC=`pwd`/../misc/ios/clangwrap.sh GOARCH=arm64 ../bin/go install -v -a runtime/cgo
$ git clone https://go.googlesource.com/go go.git $ cd go.git/src $ curl https://gist.githubusercontent.com/minux/3d795d947440dfb15903/raw/f9ca549fba1890774695694964687ae41ca72583/gistfile1.diff | patch -p2 $ PATH=~/iossdk/usr/bin/:$PATH /usr/bin/time ./all.bash
all.bash has started to compile runtime, run the following on the
desktop Darwin to copy the runtime/cgo.a to idevice:
# still under $GOROOT/src $ ssh ipadmini mkdir -p go.git/pkg/darwin_arm64/runtime && scp ../pkg/darwin_arm64/runtime/cgo.a ipadmini:go.git/pkg/darwin_arm64/runtime/