Re: error: 'unitypes.h' file not found

Gavin Smith <[email protected]>
Newsgroups gmane.comp.tex.texinfo.bugs
Message-ID <aYDu2tHUnNpKVrQX@orangestar>
On Mon, Feb 02, 2026 at 02:02:32PM +0100, Bruno Haible via Bug reports for the GNU Texinfo documentation system wrote:
> Hi,
> 
> The weekly CI, this week, fails on macOS 26. (Last week, the same build was OK.)
> 
> Making all in XSTexinfo
> /bin/sh ../../libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I../../../../tta/perl/XSTexinfo -I../..  -I../../../../tta/perl/XSTexinfo/../../C/main -I../../../../tta/perl/XSTexinfo -I../../../../tta/perl/XSTexinfo/../../C -I../../../../tta/gnulib/lib -I../../gnulib/lib -I/opt/homebrew/opt/gettext/include -Wall -fno-common -DPERL_DARWIN -DNO_THREAD_SAFE_QUERYLOCALE -DNO_POSIX_2008_LOCALE -DHAS_BROKEN_LANGINFO_CODESET -DNO_LOCALE_COLLATE -fno-strict-aliasing -pipe -fstack-protector-strong    -MT libparagraph_la-xspara.lo -MD -MP -MF .deps/libparagraph_la-xspara.Tpo -c -o libparagraph_la-xspara.lo `test -f 'xspara.c' || echo '../../../../tta/perl/XSTexinfo/'`xspara.c
> libtool: compile:  cc -DHAVE_CONFIG_H -I. -I../../../../tta/perl/XSTexinfo -I../.. -I../../../../tta/perl/XSTexinfo/../../C/main -I../../../../tta/perl/XSTexinfo -I../../../../tta/perl/XSTexinfo/../../C -I../../../../tta/gnulib/lib -I../../gnulib/lib -I/opt/homebrew/opt/gettext/include -Wall -fno-common -DPERL_DARWIN -DNO_THREAD_SAFE_QUERYLOCALE -DNO_POSIX_2008_LOCALE -DHAS_BROKEN_LANGINFO_CODESET -DNO_LOCALE_COLLATE -fno-strict-aliasing -pipe -fstack-protector-strong -MT libparagraph_la-xspara.lo -MD -MP -MF .deps/libparagraph_la-xspara.Tpo -c ../../../../tta/perl/XSTexinfo/xspara.c  -fno-common -DPIC -o .libs/libparagraph_la-xspara.o
> ../../../../tta/perl/XSTexinfo/xspara.c:25:10: fatal error: 'unitypes.h' file not found
>    25 | #include <unitypes.h>
>       |          ^~~~~~~~~~~~
> 1 error generated.
> make[5]: *** [libparagraph_la-xspara.lo] Error 1
> 
> This suggests some missing -I option...
> 
> Bruno
> 
> 

It should be found by the -I../../gnulib/lib (builddir) option as this
is a generated header file.

So it seems that this header file is not being output by gnulib for whatever
reason.

The output of gnulib-tool --add-import says to wrap the include in an #if:

  You may need to add #include directives for the following .h files.
    #include <getopt.h>
    #include <locale.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <uchar.h>
    #include <unistd.h>
    #include "gettext.h"
    #include "unicase.h"
    #include "unictype.h"
    #include "uninorm.h"
    #include "unistr.h"
    #include "uniwidth.h"
    #if HAVE_ICONV
    # include <iconv.h>
    #endif
    #if HAVE_LIBUNISTRING
    # include <unitypes.h>
    # include <unistr.h>
    # include <uniconv.h>
    # include <unistdio.h>
    # include <uniname.h>
    # include <unictype.h>
    # include <uniwidth.h>
    # include <uniwbrk.h>
    # include <unilbrk.h>
    # include <uninorm.h>
    # include <unicase.h>
    # include <uniregex.h>
    # include <unistring/version.h>
    #endif

My biggest suspicion is the various changes to Makefile.am and
configure.ac files regarding the HAVE_ICONV conditional and whether
C libraries are built, e.g. commit 5de817edcbf580f (2026-02-01) and
05bcc5cf10eefd5d68 (2026-01-29).

It would be of interest to know whether XSParagraph.la was built in this build
last week.  I suspect that it should not be being built.

I notice in tta/perl/XSTexinfo/Makefile.am, XSParagraph.la and MiscXS.la
are anomalous in not being contained within an "if BUILD_C_CODE" conditional.

There has been a minor gnulib update which didn't touch any relevant
files, as far as I could tell (commit 44c0ca5580, 2026-02-01), but that
is another possibility.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.