"G. Branden Robinson" <[email protected]> writes:

> Hi Ingo,
>
> Thanks for the build report.
>
> At 2026-02-05T04:09:25+0100, Ingo Schwarze wrote:
>> i just tested rc2 for the first time.  As far as my testing in rc1 went
>> previously (i never completed testing rc1), i see no further
>> regressions in rc2 beyond what i already reported for rc1.
>> 
>> It appears parallel building now works (at least it did when i
>> tested it once, which is admittedly not conclusive evidence because
>> for parallel build errors, intermittent failures are typical).
>> For now, i will do test builds in serial mode anyway because
>> that makes diff(1)ing build logs easier.  Thoroughly testing
>> parallel builds is not a priority at this point.
>> 
>> Here is the next crash on OpenBSD, present in both rc1 and rc2.
>> 
>> Groff uses the gnulib putenv module.  That module tests putenv(3)
>> in a bogus way, which causes my OpenBSD build to crash:
> [...]
>> With the workaround appended below, i now managed for the first time
>> to get groff to build on OpenBSD.  I do not think it is building
>> correctly just yet, but at least the build now finishes without
>> crashing.
>
> I wonder why Bruno Haible has so much less difficulty building on
> OpenBSD than you do.
>
> Do you not build stock groff, but only attempt a build after applying
> your raft of patches to make the formatter work more like mandoc(1)?
>
> Regards,
> Branden

Here is the linker error Ingo saw:

    c++ -O2 -pipe -o grops src/devices/grops/ps.o src/devices/grops/psrm.o \
        -lm libdriver.a  libgroff.a  lib/libgnu.a
    ld: error: undefined symbol: rpl_putenv
    >>> referenced by psrm.cpp
    >>>   src/devices/grops/psrm.o:(resource_manager::output_prolog(ps_output&))
    >>> referenced by ps.cpp
    >>>   src/devices/grops/ps.o:(main)
    c++: error: linker command failed with exit code 1 (use -v to see 
invocation)
    *** Error 1 in . (Makefile:8416 'grops')

These make flags get rid of all Gnulib objects [1]:

    # Even after the above CONFIGURE_ENV cleanup, gnulib compiles in
    # several bogus files that groff does not need, merely because
    # gnulib enables them by default.  Get rid of them.
    MAKE_FLAGS +=               lib_libgnu_a_OBJECTS=

Getting rid of objects tends to make the linker unhappy.

Collin

[1] https://github.com/ischwarze/groff-port/blob/1.24/Makefile

Reply via email to