設定でgettextを使用する

設定でgettextを使用する

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$PATHxgettextmsgfmt

HomebrewがインストールされているmacOSでは、gettextHomebrewパッケージは実際にこれらのバイナリをインストールしますが/usr/local/Cellar/gettext/0.18.1.1/bin/usr/local/bin

その理由はHomebrewは「地下室」にすべての「keggs」をインストールします。、そしてgettext「酒筒」バッグです。

すべてが期待どおりに機能している場合は、ツールが既にgettextディレクトリにシンボリックリンクされCellarている必要があり、/usr/local/binHomebrewが正しく設定されている場合は/usr/local/binツールが$PATH

明らかにこれいいえ設定が正しいため、以前の$PATH設定が正しいこと、およびツールへのリンクが Cellar to ディレクトリにあることを確認することをお勧めします。これらの問題のいずれかまたは両方を解決すると、この問題は解決されます。/usr/local/bin/usr/bingettext/usr/local/bin


アップデート:によるとこのスーパーユーザーの答えgettext、ツールのシンボリックリンクがデフォルトで正しく設定されていない可能性があります。次のコマンドで問題を解決します。

$ brew link gettext --force

他のアプリケーションをコンパイルしたら、次のコマンドを使用して上記の操作を元に戻すことができます。

$ brew unlink gettext

...あなたが望むなら。

StackOverflowに対するもう一つの答えgettextHomebrewパッケージの実行可能ファイルの1つである「バケットのみ」について説明し続けると、次のようになります。いいえ「The Cellar」からリンクされています/usr/local/bin。これは意図的に設計されています。これは、スクリプトが正しく機能するbrew linkためにこの手順が必要な理由を示しています。configure

「バケットのみ」バイナリがデフォルトで保存されていないの$PATHは、macOSベースシステムにすでに存在する同じ名前のツールを妨げる可能性があるためです。

関連情報