次のページ 前のページ 目次へ

7. トラブルシューティング

xmkmf や make がエラーを出さずに正常終了したら、「次の段階」に進みましょう。 しかし、「実際」には一度でうまく行くことは滅多にありません。 ここで、あなたの機知を注ぎ込むのです。

7.1 リンクエラー

注意:もし、失敗するとシステムが動作しなくなってしまうので、上記のことを するときには十分注意して作業してください。

通常、最新のライブラリはSunsite( ftp://sunsite.unc.edu)で 見つけることが出来ます。

7.2 その他の問題

警告:root の setuid をセットしたプログラムはシステムのセキュリティ上の 危険を伴います。プログラムは root 権限上で動作するので、致命的な被害を 受ける可能性があります。setuid ビットを立てる前に必要に応じてソース ファイルを見て、プログラムが何をするのか、確かめてください。

7.3 改善と最適化

Makefile にシステムに最適なオプションが設定されているかどうか調べてみたい でしょう。例えば、 -O2 オプションは最高レベルの最適化を行い、 -fomit-frame-pointer オプションは小さいバイナリを作成します。 (ただし、デバッグは出来なくなります。)試験的に構築をしているときや自分が 何をやっているか分からない人はこれらのオプションをいじらないように してください。

7.4 さらなる情報の入手先

私の経験によると、多分アプリケーションの25%が"そのコンピューターで 正しく"構築できます。他の50%かそこらは大小様々な努力によって、 構築するように"改善され"ます。それにもかかわらず、このことは 膨大な数のパッケージが構築の際に何らかの問題をもっていることを示しています。 それでも、ことによると、 Intel 用の ELF や a.out のバイナリが Sunsite( ftp://sunsite.unc.edu) や TSX-11( ftp://tsx-11.mit.edu) 等で見つかるかも知れません。 Red Hat( ftp://redhat.com) や Debian( ftp://www.debian.org) には有名な Linux のソフトウェアの ほとんどがバイナリパッケージとなって膨大なアーカイブとして置いてあります。 多分、ソフトウェアの作者があなたが使っているのと同じマシン用のバイナリを コンパイルして配布してくれたのでしょう。

注意:もしあらかじめコンパイルしてあるバイナリを入手したなら、あなたの システムとの互換性を調べる必要があります。

もし、どうやってもだめだったら、 comp.os.linux.x や comp.os.linux.development といったニュースグループに助けになる情報があるかもしれません。

日本語のニュースグループなら fj.os.linux、jlug.ml.users があります。 しかし、これらのニュースグループで答えてくれる人は皆自分の空いた時間を 使ってボランティアで答えてくれています。決してメーカーのサポートでは ないので、失礼な態度をとらないようにしてください。また、質問するときには、 わかりやすく、具体的に質問しましょう。また、問題が解決したなら、解決した ことの報告、解決の要因を忘れずに報告しましょう。

それでもだめだったら、少なくとも、最善を尽くし、たくさんのことを 学んだのだから、それはそれでいいのではないでしょうか。


次のページ 前のページ 目次へ