Fedoraはlibtool
64ビットでパッケージ化されています。
# rpm -qi libtool |grep ^Arch
Architecture: x86_64
しかし、パッケージの内容を表面的に見ると、明確なArch関連のバイナリは明らかになりません。
# rpm -ql libtool |xargs file
/usr/bin/libtool: a /usr/bin/sh script, ASCII text executable, with very long lines, with escape sequences
/usr/bin/libtoolize: a /usr/bin/sh script, ASCII text executable, with very long lines, with escape sequences
/usr/share/aclocal/libtool.m4: M4 macro processor script, ASCII text, with very long lines
/usr/share/aclocal/ltargz.m4: M4 macro processor script, ASCII text
/usr/share/aclocal/ltdl.m4: M4 macro processor script, ASCII text
/usr/share/aclocal/ltoptions.m4: M4 macro processor script, ASCII text
/usr/share/aclocal/ltsugar.m4: M4 macro processor script, ASCII text
/usr/share/aclocal/ltversion.m4: M4 macro processor script, ASCII text
/usr/share/aclocal/lt~obsolete.m4: M4 macro processor script, ASCII text
/usr/share/doc/libtool: directory
/usr/share/doc/libtool/AUTHORS: ASCII text
/usr/share/doc/libtool/ChangeLog: Non-ISO extended-ASCII text, with LF, NEL line terminators
/usr/share/doc/libtool/NEWS: ASCII text
/usr/share/doc/libtool/README: ASCII text
/usr/share/doc/libtool/THANKS: UTF-8 Unicode text
/usr/share/doc/libtool/TODO: ReStructuredText file, UTF-8 Unicode text
/usr/share/info/libtool.info-1.gz: gzip compressed data, max compression, from Unix, original size modulo 2^32 312124
/usr/share/info/libtool.info-2.gz: gzip compressed data, max compression, from Unix, original size modulo 2^32 51735
/usr/share/info/libtool.info.gz: gzip compressed data, max compression, from Unix, original size modulo 2^32 4355
/usr/share/libtool: directory
/usr/share/libtool/build-aux: directory
/usr/share/libtool/build-aux/compile: a /usr/bin/sh script, ASCII text executable
/usr/share/libtool/build-aux/config.guess: a /usr/bin/sh script, ASCII text executable
/usr/share/libtool/build-aux/config.sub: a /usr/bin/sh script, ASCII text executable
/usr/share/libtool/build-aux/depcomp: a /usr/bin/sh script, ASCII text executable
/usr/share/libtool/build-aux/install-sh: a /usr/bin/sh script, ASCII text executable
/usr/share/libtool/build-aux/ltmain.sh: POSIX shell script, ASCII text executable, with escape sequences
/usr/share/libtool/build-aux/missing: a /usr/bin/sh script, ASCII text executable
/usr/share/licenses/libtool: directory
/usr/share/licenses/libtool/COPYING: ASCII text
/usr/share/man/man1/libtool.1.gz: gzip compressed data, max compression, from Unix, original size modulo 2^32 3469
/usr/share/man/man1/libtoolize.1.gz: gzip compressed data, max compression, from Unix, original size modulo 2^32 3027
これはいくつかの質問を提起します。
アーキテクチャ関連の部分はどこにありますか?これらのマクロファイルにいくつかのコンパイル時定数が含まれていますか?誤ってlibtoolを32ビットにパッケージ化すると、noarch
64ビットバージョンがクラッシュしますか?
答え1
スクリプトlibtool
自体にはデフォルトのホストとビルドアーキテクチャが含まれているため、ビルドされるアーキテクチャによって異なります。
libtool
アーキテクチャに関連する少なくとも2つの異なる変数があります。
- 図書館検索パス。
- リンカコマンド(ターゲット形式を指定)
残りはlibtool
アーキテクチャに依存しないため、他のディストリビューションでは、スクリプトのみを含むアーキテクチャに依存するパッケージと他のすべてを含むアーキテクチャに依存しないlibtool
パッケージを提供できるようにパッケージを分割します。
エラーを使用すると、libtool
影響を受ける変数に正しい値を指定しない限り、ビルドが実際に中断される可能性があります(正しいライブラリが見つからず、接続が失敗します)。