CentOSでGo(インストール編)

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

前回の記事(人気のプログラミング言語ランキング)で少し書いたGoogle発のプログラミング言語であるGoを自分のCentOS5にインストールしたので、そのインストールの過程を書いてみます。

これからインストールしようとしている方、また、インストールの途中でつまづいた人は参考にしてみてはいかがでしょうか?

下準備

自分の使っているCentOSには、Mecurialとよばれるものがインストールされていいないようで、まずはこれをyum経由でインストールします。続いて、インストールに用いるeasy_installコマンドも必要なのでその関連もインストールします。具体的には、以下のコマンドをrootユーザにて実行します。

# yum install python-setuptools
# yum install python-devel
# easy_install mercurial


環境変数の設定

Goを用いるのに必要(インストールに必要?)な環境変数を設定します。設定する環境変数は、全部で$GOROOT, $GOOS, $GOARCH, $GOBINの4つです。これらは、自分のホームフォルダの.bashrcの末尾に以下を書き込みます。

$export GOROOT=$HOME/go
$export GOOS=linux
$export GOARCH=386
$export PATH=$PATH:$HOME/bin

また、自分のホームフォルダにbinフォルダを作っておきます。

$ mkdir ~/bin

Goをインストール

まずは、Goのソースコードをリポジトリから入手します。コマンドは以下のものになります。回線速度によっては結構時間がかかると思います。自分はここで10分以上かかったと思います。

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

最後に入手したソースコードをmakeします。コマンドは以下で。

$ cd ~/.go/src
$ ./all.bash

ここも結構時間がかかるので、気長に待つようにしましょう。上のコマンドを入力すると、必要なパッケージが揃っていれば以下の出力が得られて終了します。

regex-dna
spectral-norm
k-nucleotide
mandelbrot
meteor-contest
pidigits
threadring
chameneosredux

--- cd ../test
4 known bugs; 0 unexpected bugs

上の出力例の4 known bugs;の4のところは場合によっては別の数字になることもあるようですが、気にする必要はないみたいです。

インストール時のエラー

自分の場合は、./all.bashしたときにエラーが出てきました。エラーの内容は、bisonというパッケージがインストールされていない、ということだったので、yum install bisonとして、bisonをインストール後、再度./all.bashすることでうまくインストールすることができました。

また、他にも

/home/test/bin/gotest: line 141: ./6.out: cannot execute binary file
make[1]: *** [test] エラー 126
make[1]: ディレクトリ `/home/test/go/src/pkg/archive/tar' から出ます
make: *** [archive/tar.test] エラー 2

というエラーが発生することもあるようです。その場合の対策方法は

に書かれているので是非ご参照を。

Hello Worldを実行

適当なディレクトリで以下のプログラムを実行し、コンパイルから実行までを行うと、画面にHello Worldと表示され終了です。

テストプログラム(hello.go)

package main
import "fmt"

func main() {
        fmt.Printf("Hello World\n")
}

コンパイル&実行

$ 8g hello.go
$ 8l hello.8
$ ./8.out

まとめ

以上で、インストールから簡単な導入用のプログラムまでをやってみました。今度は時間があるときにでも少しまともなプログラムを書いてみようかなと思います。できれば、Goのメリットでもあるような並列処理の容易さなんかの分かるプログラムを書いてみたいな。

参考サイト

関連記事

人気ブログランキングへ

[PR]

トラックバック

http://yamablo.com/2010/01/13-224555.php/trackback

コメント


Get Adobe Flash playerPlugin by wpburn.com wordpress themes