autoconf / automakeが非標準パッケージを指すようにする方法
-
07-07-2019 - |
質問
RedHat LinuxボックスでZooKeeperを構築しようとしています。 (ZooKeeperが何であるかはおそらく重要ではありません:-)
パッケージの指示に従うと、次のメッセージが表示されます。
$ autoreconf -if
aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in library
aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in library
configure.ac:33: error: possibly undefined macro: AM_PATH_CPPUNIT
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1
CPPPUNITを標準の場所にインストールできません。 (ルート権限を持っていない、システムチーム 「逸脱しない」というポリシーがあります。標準構成から。)
この問題を回避するには、参照をコメントアウトしました。
configure.acファイルの AM_PATH_CPPUNI
Tですが、私が本当にやりたいこと
私の個人ディレクトリにCPPPUNITをインストールしてポイントすることですが、私は
autoconf / auotmakeに伝える方法を理解する上であまり進歩していない
非標準の場所でそれを探すシステム。誰にもヒントがあります
その方法は?
解決
環境変数ACLOCAL_PATHを設定します。
ACLOCAL_PATH="/home/YOU/path/to/share/aclocal" autoreconf -if
ACLOCAL_PATHを指定する必要があるディレクトリを特定するには、AM_PATH_CPPUNITを定義する.m4ファイルを含むディレクトリを見つける必要があります。
他のヒント
私の場合、パッケージcppunit-develがないためにこのエラーが発生しました。 yum -y install cppunit-devel
によってこのパッケージをcentosサーバーにインストールすると、すべてが正常に機能します。
パス変数をプロファイルや環境に追加できない場合、または何が必要な場合は、「エクスポート」を試すことができます。 autoconfを実行する前のパス。これにより、少なくともそのセッションに対してそのオプションが設定されます...
export ACLOCAL_PATH=/home/YOU/path/to/share/aclocal
また、pushが突き出た場合、次のことができます。(これにより、autoconf / configureコマンドで残された、動作していないがらくたのMakefileがクリアされます...)
make clean
" ./ configure"を開きます。スクリプト、それは小さな友達(" configure。*"という名前のもの)..テキストエディターで。次に、「検索と置換」を慎重に行います。あらゆる「もの」のインスタンスあなたを台無しにしています。 coNfigureスクリプトでディレクティブを修正し、それらを再度実行すると...運が良ければ、makeファイルは環境で機能します。
注:これは私が自分のMACで行うことで、通常はテストされていない、またはMacで実行することを意図していないLINUX SWをコンパイルします。これは間違った方法かもしれませんが、選択肢があまりない場合は、そこに行ってそれをいじる必要がある場合があります。
複数のパスの場合、:区切り文字で追加します。 いいね:
export ACLOCAL_PATH="/usr/share/aclocal/:/usr/local/share/aclocal"