NetWalkerに「Go言語」をインストールしようとしたけどビルド中にエラーで失敗の巻

 先日は、x86CentOSにGo言語をインストールして、Twitter投稿プログラムを作ってみました(→こちら)。


 GoはARM版もありますので、今日はNetWalkerにインストールしてみますよ〜
(NetWalkerは、ARM/Ubuntu Linuxが載ってます)



環境はこんな感じ

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"
$ uname -a
Linux fukaya 2.6.28-271-gec75a15 #1 PREEMPT Thu Sep 10 17:37:32 JST 2009 armv7l GNU/Linux

必要なソフトをインストール

$ sudo aptitude install mercurial
$ sudo aptitude install bison


.bashrcを編集して環境変数を追加

$ vi .bashrc

(以下を追加)
export GOROOT=~/go
export GOOS=linux
export GOARCH=arm
export GOBIN=~/go/bin
export PATH=$PATH:$GOBIN



(ログインしなおす)


環境変数が正しく設定されてるかチェック

$ set | grep ^GO
GOARCH=arm
GOBIN=/home/fukaya/go/bin
GOOS=linux
GOROOT=/home/fukaya/go


Goのソースをリポジトリからダウンロード

$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT


ビルド先のディレクトリを掘って、ソースディレクトリへ移動

$ mkdir $GOBIN
$ cd $GOROOT/src


ビルド開始!

$ ./all.bash


・・・
(約7分経過)

gopack grc _obj/unicode.a _go_.5
gopack grc _obj/math.a _go_.5
make[1]: *** [_obj/math.a] Segmentation fault
make[1]: *** ファイル `_obj/math.a' を削除します
make[1]: ディレクトリ `/home/fukaya/go/src/pkg/math' から出ます
make: *** [math.install] エラー 2
make[1]: *** [_obj/unicode.a] Segmentation fault
make[1]: ディレクトリ `/home/fukaya/go/src/pkg/unicode' から出ます
make: *** [unicode.install] エラー 2
(以下略)


あれ〜?
Segmentation faultしますよ・・・


なんどやってもダメだった。
うーん。


/
追記 


いろいろやってるけどうまくいかないなあ。


ソースディレクトリで、

$ hg pull
したら
added 22 changesets with 41 changes to 35 files
更新差分がある!これは!!!


と、おもってビルドしてみたけど結果かわらず。


じゃ、リビジョン指定なしてソースを取ってきたら・・・

$ hg clone https://go.googlecode.com/hg/ $GOROOT
今度は別のところでエラー
5a linux/arm/sys.s
linux/arm/sys.s:26 macro redefined: SYS_ARM_cacheflush
5a arm/cas6.s
make[1]: *** [sys.5] エラー 1



あ、あれ?でも、コンパイラ(5gとか)はビルドできてるなあ。

$ 5g twpost.go
:
:
:
twpost.go:5: fatal error: can't find import: fmt
だめだ。パッケージがビルドされてない・・・