gnome 애플리케이션을 컴파일하려고 하는데 스크립트를 실행할 때 출력이 무엇을 의미하는지 궁금합니다 autogen.sh
.
~/Documents/Code/window-picker-applet $./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --install --copy
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
autoreconf: running: /usr/bin/autoconf
autoreconf: running: /usr/bin/autoheader
autoreconf: running: automake --add-missing --copy --no-force
data/Makefile.am:11: `%'-style pattern rules are a GNU make extension
data/Makefile.am:11: wildcard $(top_srcdir: non-POSIX variable name
data/Makefile.am:11: (probably a GNU make extension)
autoreconf: Leaving directory `.'
[Output trunkated...]
내가 이 정보를 얻는 이유는 무엇입니까 configure.ac: not using Gettext
? 이것은 경고입니까? 이 문제를 해결하려면 일부 구성 파일을 변경해야 합니까? 응용 프로그램에 po/
폴더가 있다는 것을 알고 있으므로 Gettext를 사용해야 한다고 가정하므로 이 경고로 인해 혼란스러워집니다.
또한 정의되지 않은 매크로 경고가 많이 표시되는데 [고쳐 쓰다]아래 댓글을 참조하세요[/고쳐 쓰다]N_
, 이것이 관련이 있는 것일까요?
답변1
어떤 운영 체제?
귀하의 시스템에는 개발 부분인 gettext 시스템의 전부 또는 일부가 없을 수도 있습니다. Debian/Ubuntu와 같은 많은 배포판에서 gettext는 여러 패키지로 나뉩니다: gettext-base
및 gettext
.
이 gettext-base
패키지는 다중 언어 프로그램을 gettext
빌드하는 데 필요한 부분을 갖추면서 실행하는 데 사용됩니다.
답변2
autogen.sh
통화 중이신 것 같습니다 autoreconf
.
프로젝트에서 이를 사용 중일 수 있지만 intltool
, 그렇다면 autoreconf
선택하여 호출해야 합니다 intltoolize
. GNU gettext를 사용하는 경우 autopoint
정보 페이지의 다음 내용이 도움이 될 것입니다.
"autopoint" 프로그램은 표준 gettext 인프라 파일을 소스 패키지에 복사합니다. 패키지의 "configure.in" 또는 "configure.ac" 파일에 있는 "AM_GNU_GETTEXT_VERSION(VERSION)" 형식의 매크로 호출에서 패키지가 사용하는 gettext 버전을 추출하고 해당 버전에 속한 인프라 파일을 패키지 .
우리가 쓴다면 AM_GNU_GETTEXT_VERSION
올바르게 autopoint
호출될 것입니다 autoreconf
.
버전 요구 사항을 충족하는 사용 가능한 최신 인프라를 추출하려면 "AM_GNU_GETTEXT_REQUIRE_VERSION(VERSION)" 형식을 사용할 수 있습니다. 예를 들어 시스템에 gettext 0.19.8이 설치되어 있고 "0.19.1"을 요청하는 경우 버전 0.19.8의 인프라 파일이 소스 패키지에 복사됩니다.
문제는 이 버전의 매크로로 전환할 때만 발생하며 주석에 표시된 대로 수행되는 동안 우리는 알지 못합니다 autoreconf
.지원 패치.
젠투 사용자는 다음을 통해 ebuild에서 동일한 동작을 얻을 수 있습니다.우리의 기능을 사용하십시오 eautoreconf
.
내가 직접 작성한 직후에 경고가 생성되지만 AM_GNU_GETTEXT_VERSION
그렇지 않으면 예상된 결과가 생성되는 것 같습니다.AM_GNU_GETTEXT_REQUIRE_VERSION
configure.ac