temporaryなめも帳

だらだらと備忘録とか。誰かの為になることをねがって。

Macでgoのクロスコンパイルする

RaspPiにFreeBSD乗せて遊んでて、そこ向けにgoのバイナリ作りたい。

goをinstallする。

brew--with-cc-allをつけてインストールした。 この辺を参考に。 GoのソースをMacでクロスコンパイルし、CentOS5でCloudWatchのカスタムメトリクスを取得する

環境がいまいちなのか、記事の通りに行かなかったので以下を追加

こんなエラーが出てた

go build runtime: freebsd/arm must be bootstrapped using make.bash

どうもクロスコンパイル用の環境が整っていないらしい。

以下で環境が整う。 GOOSとGOARCHを変えれば、他環境向けにも対応できる。

$ cd /usr/local/go/src
$ sudo GOOS=freebsd GOARCH=arm CGO_ENABLED=0 ./make.bash --no-clean

この後、helloworldをクロスコンパイルするといけた。

$ GOOS=freebsd GOARCH=arm go build hello.go