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