私はautotoolsを初めて使用し、これに従います tutorial 。しかし、私はこのエラーを解決できませんでした、
$ automake
configure.ac: error: no proper invocation of AM_INIT_AUTOMAKE was found.
..
Makefile.am: error: required file './depcomp' not found
..
/usr/share/automake-1.12/am/depend2.am: error: am__fastdepCC does not appear in AM_CONDITIONAL
..
/usr/share/automake-1.12/am/depend2.am: error: AMDEP does not appear in AM_CONDITIONAL
..
僕の configure.ac
ファイルは
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
AM_INIT_AUTOMAKE(hello,1.0)
AC_CONFIG_SRCDIR([config.h.in])
AM_CONFIG_HEADERS(config.h)
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
AC_CHECK_HEADERS([sys/time.h])
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CHECK_FUNCS([gettimeofday])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
私はインターネットで解決策をチェックしました、私のconfigure.ac
見た目は問題ない、何が問題なのかわからない。
あなたはそれを一行ずつ修正しなければなりません。
まず、Makefile.am
にはdepcomp
が必要です。したがって、それをフォルダにコピーする必要があります(この手順では、automake --add-missing
を実行して、不足しているファイルを自動的に追加できます)。
cp -a /usr/share/automake-X.XX/depcomp .
次に、aclocal
の前にautomake
を実行する必要があります。
$ aclocal
最後に、automake
を実行できます。
$ automake
$ autoconf
configure.ac
をどこからコピーして貼り付けましたか?そのサイトが何であれ、ブックマークから削除する必要があります。
パッケージのバージョンを示す新しいAC_INIT
の方法と、同じことを行う古いAM_INIT_AUTOMAKE
の方法を組み合わせています。両方をしないでください。 (Oldおよびnewは、10年前に発生したスイッチを指します。 )Automake 1.13以降、2つの引数を使用してAM_INIT_AUTOMAKE
を呼び出す古い方法はサポートされなくなりました。
あなたの場合、AM_INIT_AUTOMAKE
引数を削除し、プロジェクトの名前とバージョンを反映するようにAC_INIT
引数を正しく設定するだけで十分です。
非常に単純なconfigure.ac
の最新の例については、 自動作成マニュアル を参照してください。
自分でautomake
を呼び出す代わりに、autoreconf -vfi
を使用して、関連するすべてのツールを正しい順序で実行し、不足しているファイルをインストールします。
私の場合、libtoolを2.2.6から2.4.6に更新します。 ps:私はautomakeの1.15バージョンを使用しています。 aclocalとautoheaderを実行する前にlibtoolizeを実行してください。