手順(各所に情報があるようですが)とログをメモしておきます。
まず、root で必要なものをインストールします。特に、Mercurial を。
[root@fedora14 ~]# cat /etc/redhat-release Fedora release 14 (Laughlin) [root@fedora14 ~]# uname -a Linux fedora14 2.6.35.10-74.fc14.x86_64 #1 SMP Thu Dec 23 16:04:50 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux [root@fedora14 ~]# yum install '*mercurial*' 途中省略 [root@fedora14 ~]# rpm -q bison gcc libc6-dev ed gawk make ※必要なものを確認 bison-2.4.3-1.fc14.x86_64 gcc-4.5.1-4.fc14.x86_64 package libc6-dev is not installed ※これは、既に名前が変わったのか、不要でした ed-1.4-2.fc14.x86_64 gawk-3.1.8-3.fc14.x86_64 make-3.82-3.fc14.x86_64次に一般ユーザでの作業です。
[user00@fedora14 ~]$ cat .bashrc ※環境変数を設定します # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions export GOROOT=$HOME/go ※この4行をvi等で追加 export GOOS=linux export GOARCH=amd64 export GOBIN=$HOME/bin [user00@fedora14 ~]$ source .bashrc [user00@fedora14 ~]$ mkdir $GOROOT [user00@fedora14 ~]$ mkdir $GOBIN ※次の Mercurial のコマンド hg で、リポジトリからソースその他一式をゲット [user00@fedora14 ~]$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT warning: go.googlecode.com certificate with fingerprint b1:af:83:76:f3:81:b0:57:70:d8:07:42:c8:c1:b3:67:38:c8:7a:bc not verified (check hostfingerprints or web.cacerts config setting) adding changesets adding manifests adding file changes added 7570 changesets with 29247 changes to 4124 files updating to branch default 2508 files updated, 0 files merged, 0 files removed, 0 files unresolved ※ビルドを実行 [user00@fedora14 ~]$ cd $GOROOT/src [user00@fedora14 src]$ ./all.bash rm -f *.o y.tab.[ch] y.output a.out lib9.a rm -f *.o y.tab.[ch] y.output a.out libbio.a rm -f *.o y.tab.[ch] y.output a.out libmach.a rm -f *.o y.tab.[ch] y.output a.out cc.a 途中省略 --- cd ../test 1 known bugs; 0 unexpected bugs ※ちょっと気になりますが…後述の helloworld.go は動きました。 ALL TESTS PASSED --- Installed Go for linux/amd64 in /home/user00/go. Installed commands in /home/user00/bin. The compiler is 6g. [user00@fedora14 src]$お試しに helloworld.go です。
package main import "fmt" func main() { fmt.Printf("hello, world\n") return }これを、6g および 6l にかけると、6.out という実行モジュールが生成されます。
[user00@fedora14 ~]$ 6g helloworld.go ※コンパイル [user00@fedora14 ~]$ ls -l helloworld.6 -rw-rw-r-- 1 user00 user00 5750 Mar 8 22:52 helloworld.6 [user00@fedora14 ~]$ 6l helloworld.6 ※リンク [user00@fedora14 ~]$ ls -l 6.out -rwxrwxr-x 1 user00 user00 1842238 Mar 8 22:53 6.out [user00@fedora14 ~]$ ./6.out ※実行 hello, worldコマンド先頭が数字というのは、結構、違和感があります。bash の history もうまく動かないです。!6g などとやると、history の 6番目 のコマンドが呼び出されてしまいます。
0 件のコメント:
コメントを投稿