G. Branden Robinson wrote:
> > Is there a recipe for reproducing the problem that you ran into?
>
> Sure. Grab the groff 1.25.0.rc2 release candidate archive.
>
> https://alpha.gnu.org/gnu/groff/
>
> Run the attached script. It assumes GCC but you can make it use Clang.
>
> $ env CORES=10 ~/bin/make-groff-fast-from-archive-reducer
> $ env CORES=10 CC="clang -std=c99" CXX="clang++ -std=c++98" \
> ~/bin/make-groff-fast-from-archive-reducer
I reproduce the compilation error with
- an unmodified groff-1.25.0-rc2.tar.gz,
- on Debian 11 (which went end-of-life 3 days ago),
- CC="clang -std=gnu99" CXX="clang++ -std=gnu++98"
- $ ./configure; make
And when I apply Lasse Collin's patch to lib/verify.h (commit
a4aa733b3651ed437d37fe51f14b8f5986e7ef8e), "make" succeeds.
So, you have nothing to complain about. Just make a new groff
prerelease with either the newest Gnulib ('master') or the
stable-202607 branch, and it will work on that platform.
> Could Gnulib maybe support a stamp file whose prerequisites are
> calculated to be all the header files it decides it needs to create,
> plus the libgnu.a static object? I learned the hard way that making the
> latter alone before groff was not good enough.
Stamp files should only be used when plain dependencies are not sufficient.
Have you tried adding libgnu.a as a dependency (in Makefile.am) of your
programss?
Bruno