[please don't email info-groff@gnu with feedback; it's not a big problem, but it makes work for the list moderators]
At 2026-02-21T19:39:14+0100, Alexis (surryhill) wrote: > testing this pre-release on Darwin with nixpkgs 25.11 was successfull > and all tests passed for builds with and without URW fonts. Thanks a lot for evaluating this platform. I have nothing like it. > When building with uchardet support the following test failed: > src/preproc/preconv/tests/smoke-test.sh > > Here are the related snippets from the build log (also attached): > > testing uchardet detection on pipe (expect fallback to -D) > testing fallback to locale setting in environment > ...FAILED > FAIL src/preproc/preconv/tests/smoke-test.sh (exit status: 1) [snip; I'll get to this test failure below] > Hopefully this is helpful. It is! Thank you. Some miscellaneous comments on your build log--largely notes to myself. [...] > CXX src/libs/libgroff/libgroff_a-nametoindex.o > [1msrc/libs/libgroff/matherr.c:29:5: [0m[0;1;35mwarning: [0m[1ma > function definition without a prototype is deprecated in all versions of C > and is not supported in C23 [-Wdeprecated-non-prototype][0m > 29 | [0;34mint[0m matherr(exc)[0m > | [0;1;32m ^ > [0m1 warning generated. Hmmm, I need to put that on the Lint hit list for early groff 1.25. We can either fix the declaration... $ apropos matherr matherr (3) - SVID math library exception handling ...or maybe delegate to gnulib. See <https://savannah.gnu.org/bugs/?66518>. > BuildFoundries: warning: line 34: cannot read grops font description 'AB' for > default foundry > BuildFoundries: warning: line 35: cannot read grops font description 'ABI' > for default foundry > BuildFoundries: warning: line 36: cannot read grops font description 'AI' for > default foundry > BuildFoundries: warning: line 37: cannot read grops font description 'AR' for > default foundry > BuildFoundries: warning: line 38: cannot read grops font description 'BMB' > for default foundry > BuildFoundries: warning: line 39: cannot read grops font description 'BMBI' > for default foundry > BuildFoundries: warning: line 40: cannot read grops font description 'BMI' > for default foundry > BuildFoundries: warning: line 41: cannot read grops font description 'BMR' > for default foundry > BuildFoundries: notice: copied grops font description CB for gropdf > BuildFoundries: notice: copied grops font description CBI for gropdf > BuildFoundries: notice: copied grops font description CI for gropdf > BuildFoundries: notice: copied grops font description CR for gropdf > BuildFoundries: notice: copied grops font description HB for gropdf > BuildFoundries: notice: copied grops font description HBI for gropdf > BuildFoundries: notice: copied grops font description HI for gropdf > BuildFoundries: warning: line 49: cannot read grops font description 'HNB' > for default foundry > BuildFoundries: warning: line 50: cannot read grops font description 'HNBI' > for default foundry > BuildFoundries: warning: line 51: cannot read grops font description 'HNI' > for default foundry > BuildFoundries: warning: line 52: cannot read grops font description 'HNR' > for default foundry > BuildFoundries: notice: copied grops font description HR for gropdf > BuildFoundries: warning: line 54: cannot read grops font description 'NB' for > default foundry > BuildFoundries: warning: line 55: cannot read grops font description 'NBI' > for default foundry > BuildFoundries: warning: line 56: cannot read grops font description 'NI' for > default foundry > BuildFoundries: warning: line 57: cannot read grops font description 'NR' for > default foundry > BuildFoundries: warning: line 58: cannot read grops font description 'PB' for > default foundry > BuildFoundries: warning: line 59: cannot read grops font description 'PBI' > for default foundry > BuildFoundries: warning: line 60: cannot read grops font description 'PI' for > default foundry > BuildFoundries: warning: line 61: cannot read grops font description 'PR' for > default foundry > BuildFoundries: notice: copied grops font description S for gropdf > BuildFoundries: notice: copied grops font description TB for gropdf > BuildFoundries: notice: copied grops font description TBI for gropdf > BuildFoundries: notice: copied grops font description TI for gropdf > BuildFoundries: notice: copied grops font description TR for gropdf > BuildFoundries: warning: line 67: cannot read grops font description 'ZCMI' > for default foundry > BuildFoundries: notice: copied grops font description ZD for gropdf > BuildFoundries: notice: copied grops font description EURO for gropdf Looks like we should use a consistent quotation practice here. As noted by Deri and me recently, under "Configuration A",[1] these warnings are expected when gropdf's feature service level is "basic". gropdf(1): Feature service levels and URW font support ... • Basic service results when gropdf cannot locate all 35 fonts of the PostScript Level 2 standard. Only the base 14 fonts of the PDF standard are available, and only in the sense that the formatter can use their metrics (copied from grops font descriptions as described above). Use of the -e option to embed fonts in the generated PDF results in an error. > troff: backtrace: 'an.tmac':832: macro 'I' > troff: backtrace: file 'src/utils/afmtodit/afmtodit.1':230 > troff:src/utils/afmtodit/afmtodit.1:230: warning [page 1, line 129]: cannot > adjust line; underset by 1n > troff: backtrace: file 'src/preproc/eqn/eqn.1':175 > troff:src/preproc/eqn/eqn.1:175: warning [page 1, line 664]: cannot adjust > line; underset by 3n > troff: backtrace: file 'src/preproc/eqn/eqn.1':178 > troff:src/preproc/eqn/eqn.1:178: warning [page 1, line 666]: cannot adjust > line; underset by 1n These warnings happen because groff's installation directory gets interpolated into man page text, and under the nixpkgs regime, these directory names are what Mike Myers would call "frickin' 'uge". ...or so I infer from your configuration summary. GNU roff version 1.24.0.rc4 configuration summary ---------------------------------------------------------------------- installation directory prefix : /nix/store/77hifs4jfmpsf4w6bjdhgg8dd9am6mhm-groff-1.24.0.rc4 These "underset" warnings can be disregarded; just wanted to mention it. > troff: backtrace: file 'man/groff_char.7':1060 > troff:man/groff_char.7:1060: warning: special character '.j' not defined > troff: backtrace: file 'man/groff_char.7':1466 > troff:man/groff_char.7:1466: warning: special character 'vA' not defined > troff: backtrace: file 'man/groff_char.7':1596 > troff:man/groff_char.7:1596: warning: special character 'bs' not defined > troff: backtrace: file 'man/groff_char.7':1769 > troff:man/groff_char.7:1769: warning: special character '-+' not defined > troff: backtrace: file 'man/groff_char.7':1818 > troff:man/groff_char.7:1818: warning: special character 'coproduct' not > defined > troff: backtrace: file 'man/groff_char.7':1918 > troff:man/groff_char.7:1918: warning: special character '+e' not defined If some kind soul contributes a small font to _groff_, they'd fix https://savannah.gnu.org/bugs/?62932 ...and these warnings. > troff: backtrace: file 'tmac/groff_mdoc.7':5331 > troff:tmac/groff_mdoc.7:5331: warning [page 318, 2.1i]: cannot adjust line; > underset by 0.717639i Same issue as above, but for a typesetter rather than a terminal. > =========================================== > GNU roff 1.24.0.rc4: ./test-suite.log > =========================================== > > # TOTAL: 313 > # PASS: 295 > # SKIP: 13 > # XFAIL: 4 > # FAIL: 1 > # XPASS: 0 > # ERROR: 0 That's more skippin' than I'm used to seeing, but I'm not alarmed. In my working copy I have some changes to try and ensure that in _every_ case, a skipped test discloses the precise reason it's doing so. I didn't notice any omissions thereof in your log, though, which is good. [rearranging] > XFAIL: src/roff/groff/tests/current-language-and-environment-in-sync.sh > ======================================================================= > > 1 en=en > 2 (empty)=en > 3 fr=fr > 4 en=fr > 5 fr=fr > 6 (empty)=fr > 7 de=de > 8 (empty)=de > 9 de=de > A fr=de > B en=de > C (empty)=de > D fr=de > E (empty)=de > F en=en > verifying that language code on startup is 'en' > verifying that language code in new environment is empty (1) > ...FAILED > verifying that language code can be set to 'fr' > verifying that language code reverts on environment pop (1) > ...FAILED > verifying that language code restored on environment push (1) > verifying that language code in new environment is empty (2) > ...FAILED > verifying that language code can be set to 'de' > verifying that language code in new environment is empty (3) > ...FAILED > verifying that language code restored on environment pop (2) > verifying that language code restored on environment pop (3) > ...FAILED > verifying that language code restored on environment pop (4) > ...FAILED > verifying that language code in new environment is empty (4) > ...FAILED > verifying that `evc` request copies language code > ...FAILED > verifying that empty language code restored on environment push > ...FAILED > verifying that assertion holds when using `hla` request > XFAIL src/roff/groff/tests/current-language-and-environment-in-sync.sh (exit > status: 1) This horror show will be fixed when I can get Peter's buy-in to one of my GNU troff language reforms. :D https://savannah.gnu.org/bugs/?66387 > FAIL: src/preproc/preconv/tests/smoke-test.sh > ============================================= > > testing -e flag override of BOM detection > testing detection of UTF-32BE BOM > testing detection of UTF-32LE BOM > testing detection of UTF-16BE BOM > testing detection of UTF-16LE BOM > testing detection of UTF-8 BOM > testing detection of Emacs coding tag in piped input > testing uchardet detection on pipe (expect fallback to -D) > testing fallback to locale setting in environment > ...FAILED > FAIL src/preproc/preconv/tests/smoke-test.sh (exit status: 1) Okay, let me have a look at what that's doing. [time passes] This looks like a legitimate failure; it's a case of me not knowing what to do. Here's the code: ---snip--- # Fall back to the locale. # # On glibc systems, the 'C' locale uses "ANSI_X3.4-1968" for the # character set, but preconv assumes Latin-1 instead of US-ASCII. # # On non-glibc systems, who knows? But at least some use UTF-8. if [ -n "$has_glibc" ] then charset=ISO-8859-1 else charset=UTF-8 fi echo "testing fallback to locale setting in environment" >&2 printf 'Eat at the caf\351.\n' \ | "$preconv" -d 2>&1 > /dev/null \ | grep -q "encoding used: '$charset'" || wail ---end snip--- Earlier in your log, when "configure" is running, we have this: checking whether we are using the GNU C Library >= 2.1 or uClibc... no Okay, please run that printf(1) command in your build environment and tell me what you get. The script `export LC_ALL=C`'s earlier, so you should do similar. $ LC_CALL=C printf 'Eat at the caf\351.\n' I don't know what to expect from your system's libc. I'd like to. What _is_ your libc vendor, by the way? Is there an idiomatic way to test for its identity? Regards, Branden [1] https://lists.gnu.org/archive/html/groff/2026-02/msg00036.html
signature.asc
Description: PGP signature
