Hi Richard,

I think you've encountered a few distinct problems.  One (the first you
raised), I know I need help with, so I'm adding bug-gnulib at gnu to
this message's distribution.

At 2026-07-28T14:15:12+0100, Richard Purdie wrote:
> I reported some build races a while ago. It appears there are still
> some issues left and they weren't an isolated problem. I tried to make
> a simple reproducer for the original problem I ran into but ran into
> further problems. To illustrate what I saw (on a fresh checkout of
> groff from git):
> 
> $ make doc/groff-man-pages.pdf
>   CXX      src/preproc/soelim/soelim.o
>   CXX      src/libs/libgroff/libgroff_a-change_lf.o
>   CXX      src/libs/libgroff/libgroff_a-cmap.o
>   CXX      src/libs/libgroff/libgroff_a-color.o
>   CXX      src/libs/libgroff/libgroff_a-cset.o
>   CXX      src/libs/libgroff/libgroff_a-curtime.o
>   CXX      src/libs/libgroff/libgroff_a-device.o
>   CXX      src/libs/libgroff/libgroff_a-errarg.o
>   CXX      src/libs/libgroff/libgroff_a-error.o
>   CXX      src/libs/libgroff/libgroff_a-fatal.o
>   CXX      src/libs/libgroff/libgroff_a-filename.o
>   CXX      src/libs/libgroff/libgroff_a-font.o
> src/libs/libgroff/font.cpp:29:10: fatal error: stdcountof.h: No such file or 
> directory
>    29 | #include <stdcountof.h>
>       |          ^~~~~~~~~~~~~~
> compilation terminated.
> make: *** [Makefile:11167: src/libs/libgroff/libgroff_a-font.o] Error 1
> 
> 
> $ make lib/stdcountof.h
>   GEN      lib/stdcountof.h
> 
>   CC       lib/libgnu_a-c32isalnum.o
> In file included from lib/c32isalnum.c:26:
> lib/c32is-impl.h:35:10: fatal error: unictype.h: No such file or
> directory
>    35 | #include "unictype.h"
> 
> and so on. I couldn't work out the right way to add dependencies on
> lib/* to src/libs/libgroff.

Understood.  I don't know what the right answer here is, either; which
header files are prerequisites demanding generation is decided by parts
of the "configure" script that Gnulib produces after it has surveyed the
system checking for (in)adequate system headers.

I confess I haven't read more than occasional section of the Gnulib
manual, when some particular module interested me.

Is there an Automake variable I can add as a prerequisite of libgroff.a?

The moral equivalent of:

libgroff.a: $(AM_WHATEVER_HEADERS_GNULIB_BUILDS)

...?

Or maybe libgnu.a should be already declaring this prerequisite, and for
some reason isn't.

Or maybe we need both, since a given groff module might depend either on
symbols in libgnu.a, or macro definitions in a standard C header file,
or both.

I'll address the rest of your questions in a separate message, as I
think they don't involve the Gnulib developers.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature

Reply via email to