Go言語をUbuntu 9.10にインストールする

Googleの開発チームが新しいコンピュータ言語”The Go Programming Language“を発表しました。

このページでは、このGo言語をUbuntu Linuxに導入する方法を紹介します。とはいえ、Go言語のホームページにあるInstalling Goをほぼそのままなぞっただけの内容です。インストールドキュメントはDebian系のLinuxを元に書かれているようで、Ubuntuへの導入は簡単です。

使用した環境はPentium M 1.6 MHzが載ったPC+Ubuntu 9.10 (INTEL 32bit)です。ユーザsimでログインしているため、ホームディレクトリ($HOME)は/home/simです。

環境変数を設定する

最低限、GOROOT,GOOS,GOARCHの3つの環境変数の設定が必要です。また、Go言語関連のバイナリを保存するディレクトリを変更したい場合は、GOBIN環境変数も設定しておく必要があります。

  • GOROOTは、Go言語のソースコードを置いておく場所です。まだ作成されていないディレクトリか空のディレクトリを指定する必要があります。
  • GOOSはOSを指定します。現時点で指定できるのはlinuxかdarwin (MAX OS Xの場合)だけです。
  • GOARCHはCPUのアーキテクチャを指定します。amd64 (INTEL 64bit,EM64T)か386 (INTEL 32bit)を指定します。まだ未完成だそうですがarm (ARMアーキテクチャ用)も準備されているそうです。
  • GOBINにはGo言語関連のバイナリファイル(コンパイラやリンカなど)が保存されるディレクトリを指定します。

私の場合は、以下のような設定を~/.bashrc に追加しました。32bit CPUのLinuxなので、GOOSとGOARCHは以下のように指定します。GOBINはデフォルトだと~/binになりますが、私は~/local/binに入れたかったので、GOBINも設定しています。

GOBINで設定したディレクトリにPATHが通っていない場合は、以下のように環境変数PATHへGOBINのディレクトリを追加しておきましょう。

.bashrcを編集したら、別の新しいターミナルを開くなどして、.bashrcを読み込ませて新しい環境変数を反映させた状態にします。念のために以下のコマンドで設定されているか確認します。

ソースコードを取得する

ソースコードは、バージョン管理システムのhg(Mercurial)で管理されていますので、まずhgを導入します。Ubuntuの場合はapt-getで簡単に導入できます。

次にリポジトリからGo言語のソースコードを取得します。

以下のようにGOROOTで指定されたディレクトリに、Go言語のソースコードやビルド用のファイルがコピーされます。

ビルドし、インストールする

まずGo言語のビルド(コンパイル)に必要なコンパイラやライブラリ、ユーティリティを導入します。

$GOBINで指定したディレクトリが$PATHに存在する事を確認た上で、以下のようにall.bashを実行するとビルドした上で、$GOBINで指定したディレクトリ(指定していない場合は~/bin)にGo言語のコマンドがコピーされます。

ビルドには少し時間がかかります。私の環境では7分間ほど掛かりました。ビルドが完了したらGo関連のコマンドが出来ているか確認しましょう。

このように、 $GOBIN以下にコマンドが出来ているはずです。
 

動作確認のためにhello,world!プログラムを作成

動作確認のために、恒例のhello,world!プログラムを作成してみましょう。テキストエディタで以下のような内容を作成し、hello.goという名前で保存します。The Go Programming Language Specificationによると、ソースコードの文字コードはUTF-8でないといけないようです。Ubuntu 9.10の環境は標準でUTF-8なのでgeditなどで普通にファイルを作成するとUTF-8で保存されます。

コンパイルやリンクに使うコマンドは、アーキテクチャ(環境変数GOARCHで指定したもの)によって別の名前が使用されます。386環境(INTEL/AMDの32bit環境)であれば8gコマンドでコンパイルし、8lコマンドでリンクを行います。AMD64環境(INTEL/AMDの64bit環境,EM64T)であれば6gや6lコマンドを使用します。

今回の環境は32bitなので8gコマンドを使用してコンパイルします。コンパイルは一瞬で完了し、hello.8というファイルが出力されます。

INTEL 64bit環境であればhello.6というファイルが出来ているはずです。

次にリンクを行います。リンクとは実行に必要なライブラリを結合して、実行可能なファイルを作成する事です。リンクは8lコマンドを使用します。デフォルトでは8.outというファイルが出力されますが-oを付ける事で出力する名前を変更できます。

あとは実行するだけです。C言語のコンパイルと同様にインタープリタ無しで実行可能なファイルが生成されています。

日本語のメッセージが問題なく表示されました。これで動作確認は完了です。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">