Ubuntu 10.04でkdevelop 3.5を使用してアプリケーションをビルドすると、次のエラーが発生します。
libtool: Version mismatch error. This is libtool 2.2.6 Debian-2.2.6a-4, but the
libtool: definition of this LT_INIT comes from libtool 2.2.6b.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6 Debian-2.2.6a-4
libtool: and run autoconf again.
make[2]: *** [wktools4] Error 63
make[2]: Target `all' not remade because of errors.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
*** Exited with status: 2 ***
Libtoolの必要なバージョンはどこで入手できますか、またはaclocal.m4を再作成するにはどうすればよいですか?
実行してみてください
autoreconf --force --install
./configure
make
プロジェクトのルートディレクトリ。
それでもうまくいかない場合は、make maintainer-clean
最初にステップ1に進みます。
それでもうまくいかない場合は、make maintainer-clean
、その後、プロジェクトのルートディレクトリで生成されたすべてのファイルを削除します。含むaclocal.m4
、 どれか m4
ディレクトリ、任意のautom4te.cache
ディレクトリ、configure
、Makefile.in
、config.h
、config.h.in
、config.status
、libtool
、ltmain.sh
など。その後、手順1に進みます。
これが機能する理由:libtool
およびaclocal.m4
は両方とも、ビルドシステムによって生成されるファイルです。それらが同期していない場合(ビルドツールの異なるバージョンによって生成される)、このエラーが発生します。通常、それは起こりませんが、生成されたファイルをソース管理にチェックインするときに発生する可能性のある何かの例です。
このソリューションが行うことは、すべての自動生成されたファイルを削除して再生成することです。それらが消去されて再生成されると、それらはもはや同期できなくなります。
試してみる
autoreconf -i
-i
オプションは重要です。
Anacondaを使用している場合、これは異なるソースのlibtoolとautoconfが原因である可能性があります。これを確認するには、次を実行します
which libtool
which autoconf
私のlibtoolはcondaからのもので、autoconfはシステムパッケージでした。 autoconfをアンインストールし、condaを使用して再度インストールしました
apt remove -y autoconf
(Ubuntu/Debian)
conda install -c anaconda autoconf
注:automakeもインストールする必要がある場合があります。
conda install -c anaconda automake
異なるバージョンの2つのlibtoolsをインストールした可能性があります。 apt-get remove all
(何も得られないまで、which libtool
コマンドラインで)、apt-get install
好きなもの。
Aclocalを実行してみてください
この問題も発生します。私の場合、。/ autogen.shの出力には次のものがあります。
libtoolize:次のファイルの内容を 'aclocal.m4'に追加する必要があります。libtoolize: '/aclocal/libtool.m4' libtoolize: '/aclocal/ltoptions.m4' libtoolize: '/aclocal/ltversion.m4' libtoolize: configure.ac、libtoolize:に「AC_CONFIG_MACRO_DIRS([m4])」を追加し、libtoolizeとaclocalを再実行することを検討してください。 libtoolize:Makefile.amのACLOCAL_AMFLAGSに「-I m4」を追加することを検討してください。
/ aclocal /の下にある3つの* .m4ファイルの内容をaclocal.m4ファイルに追加します。
cat <a path>/aclocal/libtool.m4 <a path>/aclocal/ltoptions.m4 <a path>/aclocal/ltversion.m4 >> aclocal.m4
その後、作ります。
上記のどれも機能しませんでした。 conda環境を無効にした後、動作しました:
source deactivate
上記のどれも機能しませんでした。
その後、これはうまくいきました:
autoconf -f
./configure
make
ここにエラーがあります:
libtool: Version mismatch error. This is libtool 2.4.2 Debian-2.4.2-1.11, but the
libtool: definition of this LT_INIT comes from libtool 2.4.6.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2 Debian-2.4.2-1.11
libtool: and run autoconf again.
上記のどれも機能しませんでした。
その後、これはうまくいきました:
wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz -O /root/libtool-2.4.6.tar.gz
tar xzvf /root/libtool-2.4.6.tar.gz -C /root
cp -f /usr/share/libtool/build-aux/ltmain.sh /usr/share/libtool/build-aux/ltmain_sh
cp -f /root/libtool-2.4.6/build-aux/ltmain.sh /usr/share/libtool/build-aux/ltmain.sh
autoreconf -fi
./configure
make
システムのlibtoolのアンインストールとアップストリームからのインストールを解決します:git clone git://git.savannah.gnu.org/libtool.git
Sudo apt-get install texinfo autoconf automake make ./ bootstrap ./ configure make Sudo make install