GNU 자동 도구 구성 autoreconf

GNU 자동 도구 구성 autoreconf

특히 다음을 실행하여 구성 스크립트를 생성할 때 자동화된 도구를 사용하는 데 문제가 있습니다.

autoreconf -fi

다음과 같은 경고가 표시됩니다.

libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
configure.ac:12: installing './compile'
configure.ac:15: installing './config.guess'
configure.ac:15: installing './config.sub'
configure.ac:6: installing './install-sh'
configure.ac:6: installing './missing'
Makefile.am: installing './INSTALL'
src/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/Makefile.am: installing './depcomp'
src/filteropt/Makefile.am:3: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/memory/Makefile.am:3: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/pagemanager/Makefile.am:3: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/raster/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/raster/blendSource/Makefile.am:3: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')

그런 다음 수동으로 INCLUDES를 AM_CPPFLAGS로 확인하고 변경하고 -I m4를 추가할 수 있지만 이러한 경고가 표시되지 않도록 구성 파일을 업데이트할 수 있어야 하지 않습니까?

이러한 경고를 방지하려면 어디에서 편집해야 합니까?

답변1

autoreconf 매뉴얼 페이지에서:

기본적으로 원본보다 오래된 파일만 복사합니다. GNU 빌드 시스템의 새 버전을 설치하는 경우 make('autoreconf'에 '--force' 옵션을 제공하여 모든 파일을 다시 작성)할 수 있습니다.

따라서 실행하기만 하면 autoreconf -fi해당 구성 파일이 자동으로 업데이트되는 것 같습니다.

답변2

아시다시피 libtoolize가 중단됩니다. 문제는 때때로 autoreconf 때문이라고 비난되지만 실제 문제는 엄밀히 말하면 libtoolize입니다. Autoreconf가 libtoolize를 실행하고 문제가 발생합니다. 그러나 명령줄에서 libtoolize를 실행하는 것만으로도 문제가 설명됩니다.

웹의 다양한 내용은configure.ac에 대한 변경을 제안합니다.

# configure.ac  (this does not help)
AC_CONFIG_AUX_DIR([.])

그건 작동하지 않습니다.

다른 사람들은 먼저 m4 디렉터리를 만들어야 한다고 제안했습니다. 그것은 도움이 되지 않습니다.

해결책해결책은 Makefile.am에서 ACLOCAL_AMFLAGS 행을 제거하고 libtoolize의 성가신 구문을 허용하는 것입니다.

# delete this from Makefile.am
ACLOCAL_AMFLAGS="-I m4"

Makefile.am에 ACLOCAL_AMFLAGS 라인이 정말로 필요하다면, 아... 제가 해결할 수 없는 문제가 있는 것입니다. 행운을 빌어요.

관련 정보