2013-04-24 7 views
10

저는 autotools에서 새로 만 들었으며이 다음은 tutorial입니다. 하지만 난 그게 뭐가 잘못된 건지 모르겠다, 내 configure.ac 잘 보이는,automake 오류 : AM_INIT_AUTOMAKE의 적절한 호출이 발견되지 않았습니다.

$ 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 

이며,이 오류를 해결할 수 있습니다.

답변

2

줄 단위로 수정해야합니다.

먼저 Makefile.amdepcomp이 필요합니다. 그래서, 당신은 당신의 폴더에 복사해야합니다 (이 단계에서 자동으로 누락 된 파일을 추가하도록 automake --add-missing를 실행할 수 있습니다) :

$ aclocal 
:

cp -a /usr/share/automake-X.XX/depcomp . 

둘째, 당신은 aclocal 이전 automake에 실행해야

마지막으로, 당신은 automake을 실행할 수 있습니다

$ automake 
$ autoconf 
23

configure.ac 어디에서 복사 했습니까? &? 해당 사이트가 무엇이든 관계없이 책갈피에서 제거해야합니다!

새 버전 AC_INIT을 사용하여 패키지 버전을 표시하고 이전 버전 인 AM_INIT_AUTOMAKE을 사용하여 동일한 작업을 수행 할 수 있습니다. 둘 다하지 마십시오. (Old은 10 년 전 발생한 스위치를 나타냅니다.) Automake 1.13부터 두 개의 인수를 사용하여 AM_INIT_AUTOMAKE을 호출하는 기존 방법은 지원되지 않습니다.

귀하의 경우, AM_INIT_AUTOMAKE 인수를 제거하고 프로젝트의 이름과 버전을 반영하도록 AC_INIT 인수를 올바르게 설정해야합니다.

매우 간단한 최신 정보 예 : configure.acthe automake manual을 참조하십시오.

automake을 직접 호출하는 대신 autoreconf -vfi을 사용하여 관련 도구를 올바른 순서로 실행하고 누락 된 파일을 설치하십시오.

+0

네가 맞다면, 정말 고마워. – arslan

+0

나는 최신 예제를 찾아야한다. – arslan

+0

autoreconf를 사용하는 것이 좋습니다. 나는 그것을 몰랐다. – jmmk

0

를 내 경우, 2.2.6에서 2.4.6로 libtool이를 업데이트. ps : 1.15 버전의 automake를 사용합니다. aclocal 및 autoheader를 실행하기 전에 libtoolize를 실행하십시오.

관련 문제