次の行を実行すると:
./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu {*shortened*} \
--with-imap-ssl=/usr/include/openssl/ --enable-ftp --enable-mbstring --enable-zip
「x86_64-redhat-linux-gnu」の説明的な意味を理解していますが、質問はありますか?
1)すべての選択肢のリストはありますか?すべての設定スクリプトまたはインターネットから。
2)答えをより具体的に、またはより一般的にすることは結果に大きな影響を与えますか?
ありがとうございます。
ベストアンサー1
スクリプト--build
と-host
オプションはconfigure
標準構成オプションであり、クロスビルド(たとえば、あるシステムでパッケージをビルドして別のシステムで実行)を実行しない限り、これを指定する必要はほとんどありません。これらのオプションの値は形式のために「トリプル」と呼ばれますcpu-vendor-os
。 (時々あなたの場合のようにos
実際にはありますがkernel-os
、まだトリプルと呼ばれます。)
基本設定スクリプトはホストトリプルを推論する能力が優れているため、結果が間違っているという非常に良い証拠がない限り、そうするようにしておく必要があります。これを行うスクリプトは、ビルドパッケージのどこか(おそらくサブディレクトリ)config.guess
にあります。build-aux
クロスビルドを実行していてトリプルを理解する必要がある場合は、host
最初に試す必要があるのはconfig-guess
ホストシステムで実行することです。
--host
および に与えられた(または推測された)値は、値を正規化するという--build
別のスクリプトを介して渡されます。config.sub
(autoconfドキュメントによれば、config.sub
ホストトリプルがなければビルドはそれを気にしないと仮定config.sub
することができます。)特定のパッケージの開発者は、ビルドの特定の要件に合わせてスクリプトをカスタマイズでき、さまざまな方法があります。バージョンの標準スクリプトconfig.sub
なので、あるパッケージがconfig.sub
別のパッケージの上で実行されるか、同じパッケージの別のバージョンで実行されるとは想定しないでください。
上記のすべてにもかかわらず、自動構成パッケージは、正しい基本ファイルの場所を提供するためにデフォルトのファイルシステムレイアウトを識別するだけでなく、実際にホストオペレーティングシステムとベンダーの名前を知る必要はありません。
読んでみると、config.sub
認識されるオプションの範囲に関するアイデアを得ることができますが、値をどのように使用するか、値が使用されるかを把握するのはそれほど簡単ではありません。最初のフィールド(cpu)が最もよく使用されます。
次のように入力すると、すべてのオプションのリストを取得できます。
./configure --help
またはより良い、
./configure --help | less
常にオプションがあるからです。
--build
標準オプション(および上記のよう--host
に--target
ファイルの場所をオーバーライドするオプション)に加えて、各構成スクリプトで許可される特定のオプションも異なります。パッケージのバージョンによって変わる傾向があるため、外部文書に依存するのではなく、常に構成スクリプト自体を確認する必要があります。
残念ながら、構成スクリプトのヘルプコンテンツはメンテナンスをパッケージ開発者に依存しているため、必ずしも100%完全ではありません。場合によっては、例外または開発者専用のオプションは出力の一部ではありませんが、./configure --help
これは通常、通常のインストールでそのオプションを使用しないことを示します。