我尝试使用 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 年左右(对于 Debian,可能只比该gettext
版本早十年)。鉴于内核如此旧,以及开发人员的偏好(包括对新工具链功能的依赖),开发人员不太可能再“支持”该版本的 Linux。
另一方面,您可能会遇到这样的情况:能做这件事(如果你有耐心的话)是港口gettext
旧系统的新(呃) 。
或者(工作量少得多):由于有一个与 Linux 2.4 并发的 gettext 版本,您可以只需安装与之兼容的版本,例如 0.13 或 0.14(请参阅FTP站点)。