gettext(intltools用)が必要なプログラムをmacOSでコンパイルしようとしています。構成スクリプトを実行するために、次のコマンドを試しました。
LDFLAGS=-L/usr/local/opt/gettext/lib CPPFLAGS=-I/usr/local/opt/gettext/include ./configure
LDFLAGS=/usr/local/opt/gettext/lib CPPFLAGS=/usr/local/opt/gettext/include ./configure
最初のケースでは、次のエラーメッセージで失敗します。
configure: error: GNU gettext tools not found; required for intltool
後者の場合、C コンパイラが見つかりません。
この種の問題を解決する正しい方法は何ですか?私はこれが以下に関連する可能性があることを理解しています。これ
答え1
現在、およびその他のバイナリを実行configure
できないため、スクリプトは失敗します。gettext
$PATH
xgettext
msgfmt
HomebrewがインストールされているmacOSでは、gettext
Homebrewパッケージは実際にこれらのバイナリをインストールしますが/usr/local/Cellar/gettext/0.18.1.1/bin
。/usr/local/bin
その理由はHomebrewは「地下室」にすべての「keggs」をインストールします。、そしてgettext
「酒筒」バッグです。
すべてが期待どおりに機能している場合は、ツールが既にgettext
ディレクトリにシンボリックリンクされCellar
ている必要があり、/usr/local/bin
Homebrewが正しく設定されている場合は/usr/local/bin
ツールが$PATH
明らかにこれいいえ設定が正しいため、以前の$PATH
設定が正しいこと、およびツールへのリンクが Cellar to ディレクトリにあることを確認することをお勧めします。これらの問題のいずれかまたは両方を解決すると、この問題は解決されます。/usr/local/bin
/usr/bin
gettext
/usr/local/bin
アップデート:によるとこのスーパーユーザーの答えgettext
、ツールのシンボリックリンクがデフォルトで正しく設定されていない可能性があります。次のコマンドで問題を解決します。
$ brew link gettext --force
他のアプリケーションをコンパイルしたら、次のコマンドを使用して上記の操作を元に戻すことができます。
$ brew unlink gettext
...あなたが望むなら。
StackOverflowに対するもう一つの答えgettext
Homebrewパッケージの実行可能ファイルの1つである「バケットのみ」について説明し続けると、次のようになります。いいえ「The Cellar」からリンクされています/usr/local/bin
。これは意図的に設計されています。これは、スクリプトが正しく機能するbrew link
ためにこの手順が必要な理由を示しています。configure
「バケットのみ」バイナリがデフォルトで保存されていないの$PATH
は、macOSベースシステムにすでに存在する同じ名前のツールを妨げる可能性があるためです。