Linux 커널 2.4를 사용하여 gettext를 컴파일하려고 할 때 이 오류 메시지가 나타납니다.
libtool: compile: gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" -DEXEEXT=\"\" -I. -I.. -I../intl -I../intl -I.. -I.. -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1 -DLIBXML_STATIC -I./libcroco -g -O2 -c uniname/uniname.c -fPIC -DPIC -o uniname/.libs/uniname.o
In file included from uniname/uniname.c:26:
string.h:893: warning: `strstr' redefined
/usr/include/bits/string2.h:1070: warning: this is the location of the previous definition
uniname/uniname.c: In function `unicode_name_character':
uniname/uniname.c:410: parse error before `words'
uniname/uniname.c:424: `wordptr' undeclared (first use in this function)
uniname/uniname.c:424: (Each undeclared identifier is reported only once
uniname/uniname.c:424: for each function it appears in.)
uniname/uniname.c:424: `words' undeclared (first use in this function)
make[5]: *** [uniname/uniname.lo] Error 1
make[5]: Leaving directory `/home/niklros/gettext-0.19.8.1/gettext-tools/gnulib-lib'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/home/niklros/gettext-0.19.8.1/gettext-tools/gnulib-lib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/niklros/gettext-0.19.8.1/gettext-tools'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/niklros/gettext-0.19.8.1/gettext-tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/niklros/gettext-0.19.8.1'
make: *** [all] Error 2
어떡해?
답변1
언급된 버전은 gettext
2016년에 출시된 반면, Linux 커널 버전은 2003년경으로 거슬러 올라갑니다(데비안의 경우 아마도 gettext
그보다 10년 정도 더 빠를 것입니다). 커널이 너무 오래되었고 개발자 선호도(새로운 툴체인 기능에 대한 의존도 포함)를 고려하면 개발자가 더 이상 이 Linux 버전을 "지원"할 가능성은 없습니다.
반면에 다음과 같은 상황이 발생할 수 있습니다.할 수 있는이렇게 하는 것은(인내심이 있다면)포트gettext
오래된 시스템에 대한 새로운 것입니다.
또는 (훨씬 적은 작업): Linux 2.4에는 gettext의 동시 버전이 있으므로할 수 있다0.13 또는 0.14와 같은 호환 버전을 설치하기만 하면 됩니다(참조:FTP 사이트).