GNU gcc ( C/C++ コンパイラ ) の料理方法

Solaris には C/C++ コンパイラがついてないので、他の料理ができません。そこでまず gcc を料理しておきましょう。

最終更新日 : 1998 年 10 月 02 日


  1. 材料

    • Solaris[ developper ]以上ががインストールされたコンピュータ。
      今回は Solaris2.6 / Ultra1 を素材にしました。

    • gcc のバイナリ・パッケージ

    • gcc のソース・コード ( ソース・コードから料理する場合のみ )

    • gzip のバイナリ・パッケージ
      gcc が通常圧縮されて配布されているので、 gzip の実行ファイルだけは、別途用意しておきましょう。

    • メニューは 2 種類あります。

      • 盛り付けだけ

        パッケージをインストールするだけならこちら。
        /usr/local に 20MByte 程度の空き容量。
        お料理作業用の作業場所に 40MByte 程度の開き容量。

      • 自分でお料理

        ソースコードからインストールしたいならこちら。
        /usr/local に 20Mbyte 程度の開き容量。
        お料理作業用の作業場所として 50MByte 程度の開き容量。

  2. 材料の入手

    コンパイルされたバイナリ・パッケージやソース・コードを入手しないと話になりませんので、誰かにもらうかお買い物に行きましょう。
    下記の場所や雑誌の付録から入手してください。

    Web site だとhttp://sunsite.sut.ac.jp/、ftp site だとftp://sunsite.sut.ac.jp/などがあります。
    今回は、 http://sunsite.sut.ac.jp/ から gcc-2.8.1.pkg.tar.gz ( バイナリ・パッケージ ) 、gcc-2.8.1.tar.gz ( ソース ) をもってきました。
    gzip の料理方法はこちらを参照してください。

  3. パッケージの盛り付け

    まず、バイナリ・パッケージを盛り付けて食べられるようにしましょう。ソース・コードから料理する場合も当然必要になります。
    すでに gcc がパッケージ・インストールされているなら、pkginfo で確認して pkgrm できれいにしておきましょう。

    # pkginfo | grep gcc
    utility GNUgcc GNU gcc 2.8.1 SPARC Solaris 2.6
    # pkgrm GNUgcc

    さて、バイナリ・パッケージのインストールをしましょう。/export/home/compile という場所で作業をしています。ここに先ほどもってきたバイナリー・パッケージがあるものとして、 gzip で解凍し pkgadd でインストールして pkginfo で確認します。

    # cd /usr/local/compile
    # gzip -dc gcc-2.8.1.pkg.tar.gz | tar xf -
    # pkgadd -d /export/home/compile
    # pkginfo | grep gcc

    これで、パスが /usr/local/bin に貼ってあれば gcc が使用できます。 gcc のバージョンを確認して、適当な C のソース・ファイルでもコンパイルしてみてください。

    # gcc -v
    # gcc -o pochi pochi.c

    これでバリナリー・パッケージの盛り付けは終わりです。ソース・コードから料理の必要がなければ、ここでおしまい。お疲れ様でした。
    使用した素材はどっかバックアップをとっておいてハードディスクからは消してしましょう。

    # rm -r GNUgcc gcc-2.8.1.pkg.tar.gz

  4. ソースコードからのお料理の準備

    ソース・コードからお料理する場合は、下記の実行ファイルがあった方がよいと思いわれます。

    http://sunsite.sut.ac.jp/ftp://sunsite.sut.ac.jpなどから、バイナリ・パッケージととってきたり、ソース・コードでとってきて盛り付けした gcc で、あらかじめお料理しておいた方がよいようです。必須ではないようですが、あった方がいいでしょ ?
    パスは C-Shell の時、以下のように設定します。

    # set path=(/usr/bin /usr/sbin /usr/ccs /usr/ccs/bin /usr/local/bin . )

    とってきたソース・ファイルを gzip で解凍します。/export/home/compile という場所で作業をしています。そこに先ほどもってきたソース・ファイルがあるものとして解凍します。解凍が終了したら、 gcc-2.8.1 のディレクトリへ移動します。

    # cd /usr/local/compile
    # gzip -dc gcc-2.8.1.tar.gz | tar xf -
    # cd gcc-2.8.1

  5. 下準備

    ./configure という優れものを利用して Makefile を作成します。
    この時、 ./configure のオプションはいっぱいありますが、基本的にデフォルトでお料理をしましょう。

    # ./configure --build=sparc-sun-solaris2.6

    ここで ./configure --build=sparc-sun-solaris2 みたいにシステムのマイナーバージョンを省略して書くと make でコケます。これでえらく悩んでしまいました。 fj.sys.sun のみなさんのおかげで泥沼から脱出できました。
    INTEL 版 Solaris だと 'CPU' 部分が 'i386' や 'i486' や 'i586' になるんでしょうね。

  6. さてコンパイル

    あとは INSTALL に書かれている手順で料理しちゃいましょう。
    make stage1 で[ *** にアクセスできません]だのエラーを吐きますが、 (ignored) との事で、気にしなくてもいいそうです。
    make stage2 でも[ *** にアクセスできません]だのエラーを吐きますが、 (ignored) との事で、気にしなくてもいいそうです。
    make compare で特にエラーがでなければ、できあがりです。

    # make
    # make stage1
    # make CC="stage1/xgcc -Bstage1/" CFLAG="-g -O"
    # make stage2
    # make CC="stage2/xgcc -Bstage2/" CFLAG="-g -O"
    # make compare

  7. 盛り付け前に

    バイナリ・パッケージをインストールしてあるので、作成した gcc をインストールすると pkginfo の情報とあわなくなるので pkgrm で消してしまいしょう。みなさんは、どうしてますか ?

    # pkginfo | grep gcc
    utility GNUgcc GNU gcc 2.8.1 SPARC Solaris 2.6
    # pkgrm GNUgcc

  8. さぁ、盛り付け

    /usr/local へ作成した gcc の stage2 をインストールします。

    # make CC="stage2/xgcc -Bstage2/" CFLAG="-g -O" install

  9. 後片付け

    ソース・コードなどはバックアップしておいて作業した生ごみは必要がなければ消してしまいましょう。

    # cd /usr/local/compile
    # rm -r gcc-2.8.1 gcc-2.8.1.tar.gz


[ Solaris 料理コーナー ] [ トップページ ]

BEKKOAME//INTERNET で公開していたページです。
作成: 1998 年 10 月 02 日~ Copyright (C) 1998 Katsauki Shimizu <katsuaki-s @_nifty.com> All rights reserved.

access counter