ここを参考にしつつ他の方のHP1,HP2,HP3も見てインストールしてみた。
1.まずはmercurialをインストール
次のhgコマンドを使うために必要なようです。
$ sudo apt-get install mercurial
2.hgコマンドでgo言語のソースを取得する。
ホームディレクトリで実行したのでそこにgoディレクトリができました。
$ hg clone -r release https://go.googlecode.com/hg/ go3.インストール
全チェンジセットを取得中
チェンジセットを追加中
マニフェストを追加中
ファイルの変更を追加中
6179 のチェンジセット(24758 の変更を 3801 ファイルに適用)を追加
作業領域の更新中
2315 個のファイルが更新, 0 個のファイルがマージ, 0 個のファイルが削除, 0 個のファイルが衝突未解決
参考にしたところに書いてあるまま実行。事前に必要なパッケージ
bison ed gawk gcc libc6-dev make
はインストールしておくべきでした。$ cd go/srcエラーが出た。やはり必要なツールは入れてから実行するべきでした。
$ ./all.bash
.......
LANG=C LANGUAGE="en_US.UTF8" bison -v -y -d cc.y
/bin/sh: bison: not found
make: *** [y.tab.h] エラー 127
$ sudo apt-get install bison
$ sudo apt-get install bison ed gawk gcc libc6-dev make
bison はすでに最新バージョンです。
ed はすでに最新バージョンです。
gcc はすでに最新バージョンです。
make はすでに最新バージョンです。
と出た。他のはまだみたいなのでそのままインストール。
確認のためにもう一度コマンドを打ってみるとちゃんとインストールされていました。
$ sudo apt-get install bison ed gawk gcc libc6-dev make
bison はすでに最新バージョンです。
ed はすでに最新バージョンです。
gawk はすでに最新バージョンです。
gcc はすでに最新バージョンです。
libc6-dev はすでに最新バージョンです。
make はすでに最新バージョンです。
改めてgo言語のインストールを実行。
$ ./all.bash
.....
Installed Go for linux/386 in /home/xxxx/go.
Installed commands in /home/xxxx/go/bin.
*** You need to add /home/xxxx/go/bin to your $PATH. ***
The compiler is 8g.
4.環境変数を設定
パスを通してくださいというようなメッセージがあったので以下を設定
.bashrc
export GOROOT=$HOME/go
export GOARCH=386
export GOOS=linux
export PATH=$PATH:$GOROOT/bin
5.サンプルを実行
以下のようにhello.goを作成してコンパイル、実行をしてみた。
$ cat hello.go
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
参考ページのまま、6gコマンドを使ったら
command not foundになってしまった。
cpuが386の場合は8gとかを使うと書いてありました。
ちゃんと出てきたメッセージは読めということですね。
$ 8g hello.go
$ 8l hello.8
$ ./8.out
hello, world
時間かかったぁ。でもやっと使えるようになったから少しずつ
プログラムを勉強していこう。