電波指令7:lesstif , mozilla , パッケージについて(1998.08.10)

[Back] [Home Page]
==================================================================

ってなわけで、おいらもやってみました。通常のインストール記録でも良かったけど、 lesstif のリベンジとか、 パッケージの認識を改めた話とか、なんだかんだ言っても mozilla はエポック・メーキング であるとか、色々あるので電波指令として纏めてみました。

※以下は、満開ネットの FreeボードにアップされたTIUさんのメッセージを参考にして、 私個人がローカルに行ったインストールの記録です。 満開ネットからの引用を御快諾戴いたTIUさん、NetBSD/X68K ポーティングプロジェクト の各位、 箕浦さん等御尽力下さった方々に感謝します。


lesstif , mozilla のインストールの方法は3通り。 いづれの方法を選んでも、mozilla を実行させる為には libX11 にパッチを当てる必用があります。

TIUさんの書込みから引用:
満開ネット:"free(5155) 98/07/15 02:14 Mozilla いいっす" より
+--------------------------------------------------------------------------+
| bash$ cd /usr/X11R6/lib                                                  |
| bash$ cp libX11.so.6.1 libX11.so.6.1.bak # just to be sure :-)           |
| bash$ chmod 644 libX11.so.6.1                                            |
| bash$ gdb --write libX11.so.6.1                                          |
| GDB is free software and you are welcome to distribute copies of it      |
|  under certain conditions; type "show copying" to see the conditions.    |
| There is absolutely no warranty for GDB; type "show warranty" for        |
| details.                                                                 |
| GDB 4.11 (m68k-netbsd), Copyright 1993 Free Software Foundation, Inc...  |
| (no debugging symbols found)...                                          |
| (gdb) x/i 0xef56                                                         |
| 0xef56 <XPolygonRegion+274>:    moveal fp@(-1192),a1                     |
| (gdb) set *0xef56=0x22690008                                             |
| (gdb) x/i 0xef56                                                         |
| 0xef56 <XPolygonRegion+274>:    moveal a1@(8),a1                         |
| (gdb) quit                                                               |
| bash$ chmod 444 libX11.so.6.1                                            |
+--------------------------------------------------------------------------+
※draconianz 注)スーパーユーザーでの操作。特に bash である必用はありません。

以下、3通りのインストールを、それぞれ別個にメモします。


バイナリ・パッケージを利用する

てっとり早い方法。

ダウンしたファイル:

mozilla-19980728.tgz が既にアップされています。

インストール方法

    +------------------- コマンド操作 ------------------+
    | $ su                                              |
    | # pkg_add  /##DISTDIR##/lesstif-0.85.3.tgz        |
(1) | # pkg_add  -f  /##DISTDIR##/mozilla-19980603.tgz  |
    +---------------------------------------------------+

メモ
(1) 依存パッケージに関するワーニングは無視して構わない。 但しドキュメントに拠れば、インストール後の 'helpful tools' として、 Perl 5.0、CVS 1.8.1、RCS、gdb 4.16 がリストアップされている。


ソース・パッケージを利用する

インターネットの威力をまざまざと垣間見る事のできる方法。 う〜〜、おいらみたいなネット貧乏 (ネットやり過ぎの貧乏ではなく、貧乏であまりネットできないという意味) にはちょっとキツイっす。

この方法は僕は実際にはやっていないので、TIUさんの書込みを原文のまま引用します。

TIUさんの書込みから引用:
満開ネット:"free(5261) 98/07/22 01:57 Mozillaコンパイル方法" より
    +--------------------------------------------------------------------------+
    | <コンパイル環境>
    | RAM 32MB 以上(推奨 64MB RAM)、swap 128MB 以上。
    | (Mozilla の README より)
    |
    | <前準備>
(1) | 1) libX11.so.6.1 に、ここの free(5155) に書いといたパッチを当てる。
    | 2) ftp.netbsd.org から pub/NetBSD/packages/pkgsrc/mk 配下を取ってきて、
    |    /usr/pkgsrc/mk に入れとく。更に、この中の mk.conf.example を
    |        cp mk.conf.example /etc/mk.conf
    |    とする(中身は各自見といてね)。root になってから cp してください。
    | 3) Mozilla のコンパイルに必要なフリーソフトをパッケージ登録しておく。
    |    何が必要かは、ftp.netbsd.org の pub/NetBSD/packages/pkgsrc/www/
    |    mozilla/README.html に書いてあります。一週間ほど前では、
    |        lesstif-0.85.3, gmake-3.76.1, gtexinfo-3.12, perl-5.00404
    |    が必要でした。パッケージ登録の仕方は以下の Mozilla のやり方と
    |    同じですので、以下を参照して下さい。
    |    (unlimit は Mozilla 以外は必要ありません)
    |
    | <Mozilla パッケージ登録> 
    | 4) ftp.netbsd.org から pub/NetBSD/packages/pkgsrc/www/mozilla 配下を
    |    取ってきて、/usr/pkgsrc/www/mozilla に入れとく。
    | 5) unlimit を実行する。(こうしないとリンカがネをあげる)
    | 6) /usr/pkgsrc/www/mozilla に移って、make とする。すると自動的にソース
    |    を ftp で拾ってきて、パッチ当てて、コンパイルをしてくれる。
    |    (ftp の最中は ppp 接続しておくこと。ftp が終ったら即 ppp-off した
    |    ほうがいいです。電話代がかかりますので...。なお、Mozilla のソース
    |    mozilla-19980603.tar.gz は 16482449 バイトあります)
    |    既にソースを入手している場合は、/usr/pkgsrc/distfiles に置いとけば
    |    ftp 無しで、それを使用するようになります。
    | 7) root になって、make install とする。(Mozilla がインストールされる)
    |    インストールが完了したら、pkg_info を実行して Mozilla がパッケージ
    |    登録されていることを確認する。(以下の様に表示される)
    |
    |    /usr/pkgsrc[128]% pkg_info
    |       gtexinfo-3.12       GNU info file manipulation utilities.
    |       gmake-3.76.1        GNU version of 'make' utility
    |       perl-5.00404        Practical Extraction and Report Language
    |       lesstif-0.85.3      API compatible clone of the Motif toolkit.
    |       mozilla-19980603    Mozilla. Free version of Netscape browser.
    |
    | <Mozilla で遊ぶ>
    | 8) moz-export もしくは mozilla-export を実行する。
    |    (moz-export -geometry 505x485+0+0 くらいが、512x512 画面では
    |    ちょうどいいようです。)
    |
    | では、X68 での Netscape をお楽しみください。
    |
    | p.s.
    | Mozilla で日本語のホームページを表示すると全角文字が異様に大きく表示
    | されます。デフォルトのフォントではこうなるようなので、満開製作所の
    | 要町フォント(12 ドットフォント)をインストールする事をお勧めします。
    |
    |                                 TIU
    +--------------------------------------------------------------------------+
※ (1)前記の libX11 のパッチを参照。



ソースから手動インストール

今までおいらがやっていたような、ダウンロードから何から手作業というアナクロな方法。

【lesstif-0.85.3 のインストール】


ダウンしたファイル:

コンパイル環境:

インストール方法

    +------------------------- コマンド操作 ---------------------------+
    | $ cd  /##WORKDIR##/                                              |
    | $ tar  zxvf  /##DISTDIR##/lesstif-0.85.3.tar.gz                  |
    | $ cd  lesstif-0.85.3                                             |
(1) | $ cat /##DISTDIR##/patch-* | patch                               |
(2) | $ vi  configure                                                  |
    | $ configure  --prefix=/usr/X11R6  --host=m68k-sharp-netbsd1.3.2  |
    | $ make                                                           |
    | $ su                                                             |
    | # make  install                                                  |
    +------------------------------------------------------------------+
(1) patch-aa ... patch-ai のパッチを当てる。
(2) configure にミスがあるようなので 1355行目を削除する。
             +-- configure --+
1355行目削除 | fi            |
             +---------------+

メモ
以前 lesstifのインストールを失敗した時、 xmkmf 用テンプレートファイルの扱いが分からずにあきらめたが、 (2)のパッチ(及びパッケージ)では、lesstif用テンプレートファイルを /usr/X11R6/lib/X11/config とは別のディレクトリ(/usr/X11R6/lib/X11/lesstif) にインストールするみたいだ。パッチを当てないと /usr/X11R6/lib/X11/config の既存ファイルが上書きされるので注意。

/usr/X11R6/bin/mwm でウィンドマネージャーを起動する。16色以外の Xサーバーを使用する。



【mozilla-19980603 のインストール】


ダウンしたファイル:

mozilla-19980728.tar.gz が既にアップされています。

コンパイル環境:

インストール方法

    +--------------------- コマンド操作 -----------------------+
    | $ cd  /##WORKDIR##/                                      |
    | $ tar  zxvf  /##DISTDIR##/mozilla-19980603.tar.gz        |
    | $ cd  mozilla                                            |
(1) | $ patch  <  /##DISTDIR##/patch-aa                        |
    | $ setenv  NO_SECURITY 1                                  |
    | $ setenv  MOZ_MEDIUM 1                                   |
    | $ setenv  MOZILLA_CLIENT 1                               |
    | $ setenv  NO_MDUPDATE 1                                  |
    | $ unlimit                                                |
(2) | $ make                                                   |
    | $ su                                                     |
    | # cd  /##WORKDIR##/mozilla/dist/NetBSD1.3.2_DBG.OBJ/bin  |
(3) | # cp  mozilla-export  /usr/X11R6/bin                     |
(4) | # mkdir  /usr/X11R6/lib/mozilla                          |
 :  | # cp  moz-export  /usr/X11R6/bin                         |
 :  | # cp  lib*  /usr/X11R6/lib/mozilla                       |
    +----------------------------------------------------------+

(1) パッチを当てる。
(2) コンパイル時間約5時間。寝てる間にやりましょう。
(3),(4) どちらか(または両方)をインストールする。
(3) は静的リンク版。
(4) はダイナミックリンク版と、ライブラリ。

メモ
この時のコンパイル環境は 、

考えてみると重量級のコンパイルはこれがほぼ初めてなので、 /var/tmp のキャパをすっかり忘れていた。 最初 /var/tmp を残り5M程度のパーティションに割当てた状態でコンパイルして失敗した。 その後、 /var/tmp を /tmp(80Mの専用パーティションに割当てている)にシンボリックリンクした。

このコンパイル環境でギリギリのようだ。最初、screen 3.7.4 を起動して、 script でコンパイルログを取りながら裏画面で遊んでいたら、途中でカーネルデバッガに飛んだ。 その後、余計なプロセスを一切排除してコンパイルし直したら無事成功した。

(4)のダイナミックリンク版を選択した場合、ldconfig で /usr/X11R6/lib/mozilla を指定する。


lesstif 対応アプリのコンパイル

lesstif のテンプレートファイルの件がまだ気になる。試しに何かインストールしてみよう。 lesstif のインストール後、/usr/X11R6/LessTif/doc の下に working.html というファイルがあったので覗いてみると、lesstif 対応アプリの一覧があった。 この中から xmcolor という奴をコンパイルしてみた。

ダウンしたファイル:

コンパイル環境:

lesstif用コンパイルの準備

    +--------------- コマンド操作 ----------------+
    | $ su                                        |
    | # cd  /usr/X11R6/lib/X11/lesstif            |
    | # ln  -s  ../config/X11.tmpl  Project.tmpl  |
    +---------------------------------------------+

インストール方法

    +-------------------------------- コマンド操作 --------------------------------------+
    | $ cd  /##WORKDIR##/                                                                |
    | $ tar  zxvf  /##DISTDIR##/xmcolor-1.0.tar.gz                                       |
    | $ cd  xmcolor-1.0                                                                  |
(1) | $ imake  -DUseInstalled -I/usr/X11R6/lib/X11/lesstif  -I/usr/X11R6/lib/X11/config  |
    | $ make                                                                             |
    | $ su                                                                               |
    | # make  install                                                                    |
    | # make  install.man                                                                |
    +------------------------------------------------------------------------------------+
(1) ~/.cshrc に alias 定義する等して、今後コマンド名を簡略化する。
'xmcolor  -rgbfile  /usr/X11R6/lib/X11/rgb.txt' で起動する。

パッケージについて

lesstif , mozilla については以上。 以下はパッケージに関しての僕の考え方と、このページの今後の方針について。

NetBSD のパッケージについては、箕浦さん 「Using NetBSD Package System」 などを見て一応知っていたけど、 正直なところ今までは「いつか便利になるんだろうな」位の意識しか持っていなかった。 ところが、今回 mozilla に関してアタフタしていて気付いたけど、 NetBSD/X68K環境でも既に実用段階にきているようだ。 今まではアナクロな方法でインストールしていたけど、そろそろ方針を変える必用があるみたい。

ただ、パッケージに関しては個人的に若干抵抗がある。 FreeBSD等のパッケージシステムを使った時に、 「何が何処にインストールされるか、事前に分かり難い」、 「依存パッケージのバージョンが限定されてしまう」等の印象を受けたからだ。

例えば、今回の mozilla の依存パッケージのひとつに perl 5.004_04 がリストアップされているが、現時点で perl の最新版は 5.005_01 となっている。 仮に perl の最新版をインストールしてしまった後に、 mozilla をインストールする場合、 旧版の perl 5.004_04 が自動的にインストールされてしまうのかどうか? 少なくともパッケージャーを通さずに 5.005_01 をインストールした場合は 5.004_04 がインストールされてしまうだろう。

もちろんパッケージの利点も無視できない。 僕が重要視するのは、インストールが楽という事よりも以下の2点だ。

それに、このページを始めたそもそもの目的は、基本的なソフトではなく、 もっと変てこなソフトのインストールなので、基本的な部分をパッケージでカバーできれば随分助かる。

では、今後パッケージをどの程度利用するか? 現時点で NetBSD/X68K 用バイナリ・パッケージは、lesstif , mozilla しか無いので論外として、 ネットワークに繋いだ状態でソース・パッケージを利用するのは、ネット貧乏のおいらにはやっぱり辛い。 アナログ回線のダイアルアップ接続だし、 プロバイダの状態が悪くてデータ転送中でもブッツン、ブッツン切れるし、 テレホーダイを利用しているとは云え、make 中に眠りこけた場合(ありがち)を考えると恐怖だし。 現実的なのは、依存パッケージを含めた全ての配布ファイルを予めダウンロードしておいて、 オフラインで make する方法かな? だけどそれだと、依存パッケージを調べる必用があって、 従来のアナクロなやり方と大して手間が変わらないような気がする。 だったら、ソース・パッケージの中のパッチファイルだけ頂戴して、 従来のように手作業でインストールのが無難かもしれない ...

などと、ウジウジ、グダグダ考えながら NetBSD のアーカイブを覗いていたら、 いつの間にか NetBSD/X68K 用バイナリ・パッケージが増えているではないか! ど、どうしたんだ? 一体何が起きたんだ? これは何かの前兆か? お〜〜〜〜い!

==================================================================
ご意見、ご感想などは、draconianz@geocities.co.jp まで。 ==================================================================

ジオシティーズの入り口へ このコミュニティの入り口へ ご近所を訪問する