54

ソースから git の make install を実行しようとすると、エラーが発生し続けます:

 make install
* new build flags or prefix
CC credential-store.o
In file included from credential-store.c:1:
In file included from ./cache.h:8:
./gettext.h:17:11: fatal error: 'libintl.h' file not found
#       include <libintl.h>
            ^
1 error generated.
make: *** [credential-store.o] Error 1

lib.intl.h では、Google で調べても何も見つかりませんでした。このとらえどころのないライブラリとは何ですか?最終的にgitをインストールできるようにするにはどうすれば入手できますか?

4

14 に答える 14

38

El Capitanと自作のOSXでFWIW、私は次のことを行いました:

1) El Capitan のアップグレードが何かを壊したかどうか確信が持てなかったので、最初に gettext が最新であることを確認しました。

$ brew reinstall gettext

次に、次のようにして再リンクする必要がありました。

$ brew unlink gettext && brew link gettext --force

その後、他のツールがそれを見つけることができ、生活は正常に戻りました。

于 2015-11-16T18:57:42.950 に答える
36

システムによっては、おそらく GNU C ライブラリ (glibc) の一部です。

ファイルをインストールするだけでlibintl.hは、何の役にも立たないことに注意してください。

Debian ベースのシステム (Debian、Ubuntu、および Linux Mint を含む) では、libc6-devパッケージの一部であり、次のようにインストールされます。

sudo apt-get install libc6-dev

Mac OS X を使用しているため、「libintl.h OSX」を Google で検索すると、多くの人が同様の問題を抱えていることがわかります。INSTALLGitソースのファイルによると:

NO_GETTEXTローカリゼーション サポートを無効にし、Git が英語のみを使用するように設定します。システム上で見つからない場合autoconf、スクリプトの下でこれが自動的に行われます。configurelibintl

于 2012-07-06T23:15:04.703 に答える
25

libintl は libgettext から来ていることを知りました。Homebrew で gettext をインストール済みの場合は、次のように表示されます。

$ locate libintl
/usr/local/Cellar/gettext/0.18.3.2/lib/libintl.8.dylib
/usr/local/Cellar/gettext/0.18.3.2/lib/libintl.a
/usr/local/Cellar/gettext/0.18.3.2/lib/libintl.dylib
<..snip..>

そして、「-lintlのライブラリが見つかりません」という問題については、次のように機能します

ln -s /usr/local/Cellar/gettext/0.18.3.2/lib/libintl.* /usr/local/lib/
于 2014-01-20T11:56:24.870 に答える
12

適切なバージョンの Libtools ( http://ftp.gnu.org/gnu/libtool/から) を見つけることができれば、パッケージに含まれている可能性があります。

それ以外の場合は、以下を構成に使用して、この依存関係を削除できます。

./configure --disable-nls
于 2012-07-06T23:17:54.317 に答える
7

パッケージがこのファイルを探す場合、GNU gettext パッケージをインストールまたはビルドします。${prefix}/include/libintl.hこのパッケージは、とりわけ「インストール」します

于 2012-09-16T20:54:14.920 に答える
3

OSX Lionにgitの最新バージョンをインストールするために、これが私がしたことです:

* git がまだインストールされていない場合は、サイトからダウンロードして解凍してください。~/src/git

whereis gitまた、プレフィックスを何に設定するかがわかるように、既にインストールされているかどうかを確認することをお勧めします。私は/usr/bin/gitそうだったので、プレフィックスをちょうどに設定しました/usr

mkdir ~/src
git clone https://github.com/git/git.git
cd git
make configure
./configure --prefix=/usr
make
make install

このようにすることで、追加のライブラリをダウンロードしたり、フォーラムで回答を探したりする必要がなくなりました。automake のおかげで、自分のシステムに git がセットアップされており、問題なく動作することがわかりました。

于 2013-05-01T22:46:09.050 に答える
2

これは有望に見えます - http://code.google.com/p/rudix/downloads/detail?name=static-libintl-0.18.1.1-5.pkg&can=2&q= - libintl が pkg として含まれているようです。それは私のために libintl への依存を解決しました。

于 2012-09-04T23:12:06.533 に答える
2

ローカリゼーションを気にせず、英語だけで問題ない場合はNO_GETTEXTMakefile

からMakefile:

Git 出力を翻訳したくない場合は、NO_GETTEXT を定義します。変換された Git には、GNU libintl または別の gettext 実装と、実行時の libintl-perl が必要です。

于 2013-03-14T04:39:10.187 に答える
0

AssaultCube をコンパイルしようとしてこのエラーが発生した場合 ("INTL/libintl.h" が見つからないというエラーが表示されるはずです)、AssaultCube アプリのコンテンツから INTL.framework を取得して、/Library/Frameworks に配置する必要があります。MacPorts や HomeBrew などのパッケージでは修正できません。コンパイルに失敗するオープンソース プロジェクトの数は非常に厄介です。

于 2014-08-15T03:56:04.803 に答える