xmlEncOutputChunk uses "TRUE" from ICU, which has been removed in ICU 68.1
Downstream bug: https://bugs.gentoo.org/751922
libtool: compile: x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I/var/tmp/portage/dev-libs/libxml2-2.9.10-r3/work/libxml2-2.9.10 -I./include -I/var/tmp/portage/dev-libs/libxml2-2.9.10-r3/work/libxml2-2.9.10/include -pedantic -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wno-long-long -Wno-format-extra-args -D_REENTRANT -march=native -mtune=native -O2 -pipe -c /var/tmp/portage/dev-libs/libxml2-2.9.10-r3/work/libxml2-2.9.10/encoding.c -fPIC -DPIC -o .libs/encoding.o
/var/tmp/portage/dev-libs/libxml2-2.9.10-r3/work/libxml2-2.9.10/encoding.c: In function ‘xmlEncOutputChunk’:
/var/tmp/portage/dev-libs/libxml2-2.9.10-r3/work/libxml2-2.9.10/encoding.c:1966:31: error: ‘TRUE’ undeclared (first use in this function)
1966 | TRUE);
| ^~~~
/var/tmp/portage/dev-libs/libxml2-2.9.10-r3/work/libxml2-2.9.10/encoding.c:1966:31: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [Makefile:1292: encoding.lo] Error 1
It looks like this is because it was relying on the TRUE
definition from ICU, which was removed from public headers in https://unicode-org.atlassian.net/browse/ICU-21148#icft=ICU-21148 (https://github.com/unicode-org/icu/pull/1282) which is in ICU 68.1
The xmlEncOutputChunk documentation says @flush: if true, indicates end of input
but I don't see bool
, true
, or false
used in the libxml2 codebase, so it's not clear to me what the style is here.