Re: rc2 testing: groff uses bogus putenv test
Collin Funk <[email protected]>
| Newsgroups | gmane.comp.printing.groff.general |
|---|---|
| Message-ID | <[email protected]> |
"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