web-dev-qa-db-ja.com

コンパイルとインストールのためのzlibの構成

「/root/tmp/zlib-1.2.8/」内からzlib-1.2.8をインストールしようとしていますが、構成オプションが不完全だと思います。私が使用している構成コマンドは次のとおりです。

./configure --prefix=/usr2/lib2 --eprefix=/usr2/lib2

コンパイル前は、「/ usr2/lib2 /」ディレクトリは空なので、「/ root/tmp/zlib-1.2.8 /」にあるものと簡単に比較できます。後に

make install

コマンドを実行すると、「/ root/tmp/zlib-1.2.8 /」ディレクトリに* .o、*。lo、*。h、および* .cファイルが多数あることに気付きました。ターゲットディレクトリ「/ usr2/lib2 /」の下の任意のディレクトリにあります。これにより、構成仕様が不完全であると思われます。 * .cファイルはsrcディレクトリに、*。hファイルはincludeディレクトリに、*。loまたは* .oファイルはどこに行くのかわかりません。 configureコマンドでこれらのオプションを指定するにはどうすればよいですか?誰かがこの状況を修正する方法を教えてもらえれば幸いです。

2
user54738

あなたの設定は私には問題ないようです(通常、./configure)、通常はビルドステップ(make)を含めます。ダウンロードした1.2.8アーカイブに含まれているFAQファイルから:

13. How can I make a Unix shared library?

    By default a shared (and a static) library is built for Unix.  So:

    make distclean
    ./configure
    make

14. How do I install a shared zlib library on Unix?

    After the above, then:

    make install

makeはポイント13の最後のステップです

結果のディレクトリにはソースファイルは含まれませんが(含まれるべきではありません)、ヘッダーは含まれます(他のプログラムがzlibに対してコンパイルするために必要)。

.
├── include
│   ├── zconf.h
│   └── zlib.h
├── lib
│   ├── libz.a
│   ├── libz.so -> libz.so.1.2.8
│   ├── libz.so.1 -> libz.so.1.2.8
│   ├── libz.so.1.2.8
│   └── pkgconfig
│       └── zlib.pc
└── share
    └── man
        └── man3
            └── zlib.3

Make make中に、installステップのすべての結果が宛先にコピーされるわけではないのは正常です。

2
Anthon