[PHP-users 13242] Re: PDFLIBのインストール

mori php-users@php.gr.jp
Thu, 13 Feb 2003 14:37:52 +0900


もり です。

表題: [PHP-users 13240] Re: PDFLIBのインストール
日付: Thu, 13 Feb 2003 12:56:47 +0900
ID:  <49256CCC.0015AE63.00@tkkipln1.kip.com>
"Hidemichi Matsui" <Hidemichi_Matsui@kip.com> さんの記された上記メール
に関してです。

> あと、よろしければ教えて頂きたいのですが、
>
>> configure:6192: checking for TIFFOpen in -ltiff
>> configure:6211: gcc -o conftest -g -O2   conftest.c -ltiff   1>&5
>> /usr/bin/ld: cannot find -ltiff
>> collect2: ld returned 1 exit status
>
> 上記エラーから、
>
>> sudo rpm -Uvh /mnt/cdrom/RedHat/RPMS/libtiff-devel-3.5.7-7.i386.rpm
>
> この答えが出たのは何故でしょうか?

エラーメッセージは読みましょう。
始めの2行はエラーメッセージではありません。(単なる経過報告でしょう。)

// TIFFOpenが-ltiffの中に存在しているか調べてます。
// conftest.cをコンパイル(実行コードへ翻訳)してます。

ld returned 1 exit statusは、ldが1(0以外は失敗)という終了状態で終って
しまった(異常終了)って事でしょう。

/usr/bin/ld: cannot find -ltiff は、ld(/usr/bin/ld)は-ltiffが見つけら
れなかったと報告してます。上の異常終了の原因は-ltiffが見つけられな
かった事でしょう。

-ltiffというのはtiffライブラリです。tiffライブラリは
libtiff-devel-3.5.7-7.i386.rpmの中に入っています。

こんな推測過程からエラーの原因が-ltiffを見つけられなかった事だろうと
考えられたのではないでしょうか。tiffライブラリが見つからなかっただけ
なら、-ltiffを入れて上げてからやり直せばその部分は解決するでしょう。


> それと、
>
> > LDFLAGS=-lm ./configure .... ( -lm オプションを渡してやる)
>
> この「LDFLAGS=-lm」の意味もよろしければ教えて頂けないでしょうか?

数値演算ライブラリを含めますという意味でしょう。(-ltiffがtiffライブラ
リであるように、-lmはmライブラリ[mathライブラリ]です。実数計算を行なう
場合に必要になります。)
(ライブラリは部品集のような書庫で色々利用可能な手続き[関数等]が入れら
れてます。例えば-ltiffと書いてあればlibtiff.*という名前のファイルを
ライブラリ検索パスに入っているディレクトリから探し使います。libtiff.a
だとかlibtiff.soだとかlibtiff.saだとか。)

-lmだと、libm.aだとかlibm.soだとか、………。

実際にどんなのが入っているかは、下記のコマンドでも使えばわかるでしょう。

% nm /usr/lib/libm.a
% objdump -T /usr/lib/libm.so

わからない事があった時には聞く前に先ずマニュアルを調べましょう。

右のメッセージを見た時(/usr/bin/ld: cannot find -ltiff)まずはman ldと
すれば-lの意味などはわかったと思います。

まずオンラインマニュアルの各章にあるintro位は関連項目も含めて読んで
おきましょう。