[bug #68567] [devpdf] build on Manjaro Linux 23 finds wrong/inadequate URW fonts, causing test failure

"G. Branden Robinson" <[email protected]> Sun, 26 Jul 2026 01:05:09 -0400 (EDT)
Newsgroups gmane.comp.printing.groff.bugs
Message-ID <[email protected]>
--8323329-424238335-1785042309=:1023934
Content-Type: TEXT/plain; CHARSET=utf-8
Content-Transfer-Encoding: QUOTED-PRINTABLE
Content-Disposition: inline

URL:=0A  <https://savannah.gnu.org/bugs/?68567>=0A=0A                 Summa=
ry: [devpdf] build on Manjaro Linux 23 finds=0Awrong/inadequate URW fonts, =
causing test failure=0A                   Group: GNU roff=0A               =
Submitter: gbranden=0A               Submitted: Sun 26 Jul 2026 05:05:05 AM=
 UTC=0A                Category: Font devpdf=0A                Severity: 3 =
- Normal=0A              Item Group: Build/Installation=0A                 =
 Status: Need Info=0A                 Privacy: Public=0A             Assign=
ed to: deri=0A             Open/Closed: Open=0A         Discussion Lock: Un=
locked=0A         Planned Release: None=0A=0A=0A    _______________________=
________________________________=0A=0AFollow-up Comments:=0A=0A=0A---------=
----------------------------------------------=0ADate: Sun 26 Jul 2026 05:0=
5:05 AM UTC By: G. Branden Robinson <gbranden>=0A[https://lists.gnu.org/arc=
hive/html/groff/2026-07/msg00029.html Bruno Haible=0Areports]:=0A=0A=0AOn M=
anjaro Linux 23, I see a test failure. test-suite.log is attached.=0A=0AWhe=
reas when I configure with option '--without-urw-fonts', all tests pass.=0A=
=0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A   GNU roff 1.2=
5.0.rc1: ./test-suite.log=0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=0A=0A# TOTAL: 363=0A# PASS:  354=0A# SKIP:  4=0A# XFAIL: 4=0A# FA=
IL:  1=0A# XPASS: 0=0A# ERROR: 0=0A=0A.. contents:: :depth: 2=0A=0AFAIL: fo=
nt/devpdf/tests/check-urw-foundry.sh=0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=0A=0Achecking for font description U-AB...=0Atest -f =
/home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-AB=0A...FAILED=0Achecki=
ng for font description U-ABI...=0Atest -f /home/bruno/groff-1.25.0.rc1/bui=
ld-64/font/devpdf/U-ABI=0A...FAILED=0Achecking for font description U-AI...=
=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-AI=0A...FAIL=
ED=0Achecking for font description U-AR...=0Atest -f /home/bruno/groff-1.25=
.0.rc1/build-64/font/devpdf/U-AR=0A...FAILED=0Achecking for font descriptio=
n U-BMB...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-BM=
B=0A...FAILED=0Achecking for font description U-BMBI...=0Atest -f /home/bru=
no/groff-1.25.0.rc1/build-64/font/devpdf/U-BMBI=0A...FAILED=0Achecking for =
font description U-BMI...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/f=
ont/devpdf/U-BMI=0A...FAILED=0Achecking for font description U-BMR...=0Ates=
t -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-BMR=0A...FAILED=0A=
checking for font description U-CB...=0Atest -f /home/bruno/groff-1.25.0.rc=
1/build-64/font/devpdf/U-CB=0A...FAILED=0Achecking for font description U-C=
BI...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-CBI=0A.=
..FAILED=0Achecking for font description U-CI...=0Atest -f /home/bruno/grof=
f-1.25.0.rc1/build-64/font/devpdf/U-CI=0A...FAILED=0Achecking for font desc=
ription U-CR...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf=
/U-CR=0A...FAILED=0Achecking for font description U-HB...=0Atest -f /home/b=
runo/groff-1.25.0.rc1/build-64/font/devpdf/U-HB=0A...FAILED=0Achecking for =
font description U-HBI...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/f=
ont/devpdf/U-HBI=0A...FAILED=0Achecking for font description U-HI...=0Atest=
 -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HI=0A...FAILED=0Ach=
ecking for font description U-HNB...=0Atest -f /home/bruno/groff-1.25.0.rc1=
/build-64/font/devpdf/U-HNB=0A...FAILED=0Achecking for font description U-H=
NBI...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HNBI=
=0A...FAILED=0Achecking for font description U-HNI...=0Atest -f /home/bruno=
/groff-1.25.0.rc1/build-64/font/devpdf/U-HNI=0A...FAILED=0Achecking for fon=
t description U-HNR...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font=
/devpdf/U-HNR=0A...FAILED=0Achecking for font description U-HR...=0Atest -f=
 /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HR=0A...FAILED=0Acheck=
ing for font description U-NB...=0Atest -f /home/bruno/groff-1.25.0.rc1/bui=
ld-64/font/devpdf/U-NB=0A...FAILED=0Achecking for font description U-NBI...=
=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-NBI=0A...FAI=
LED=0Achecking for font description U-NI...=0Atest -f /home/bruno/groff-1.2=
5.0.rc1/build-64/font/devpdf/U-NI=0A...FAILED=0Achecking for font descripti=
on U-NR...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-NR=
=0A...FAILED=0Achecking for font description U-PB...=0Atest -f /home/bruno/=
groff-1.25.0.rc1/build-64/font/devpdf/U-PB=0A...FAILED=0Achecking for font =
description U-PBI...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font/d=
evpdf/U-PBI=0A...FAILED=0Achecking for font description U-PI...=0Atest -f /=
home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-PI=0A...FAILED=0Acheckin=
g for font description U-PR...=0Atest -f /home/bruno/groff-1.25.0.rc1/build=
-64/font/devpdf/U-PR=0A...FAILED=0Achecking for font description U-S...=0At=
est -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-S=0A...FAILED=0A=
checking for font description U-TB...=0Atest -f /home/bruno/groff-1.25.0.rc=
1/build-64/font/devpdf/U-TB=0A...FAILED=0Achecking for font description U-T=
BI...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-TBI=0A.=
..FAILED=0Achecking for font description U-TI...=0Atest -f /home/bruno/grof=
f-1.25.0.rc1/build-64/font/devpdf/U-TI=0A...FAILED=0Achecking for font desc=
ription U-TR...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf=
/U-TR=0A...FAILED=0Achecking for font description U-ZCMI...=0Atest -f /home=
/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-ZCMI=0A...FAILED=0Achecking =
for font description U-ZD...=0Atest -f /home/bruno/groff-1.25.0.rc1/build-6=
4/font/devpdf/U-ZD=0A...FAILED=0AFAIL font/devpdf/tests/check-urw-foundry.s=
h (exit status: 1)=0A=0A=0A[https://lists.gnu.org/archive/html/groff/2026-0=
7/msg00050.html Deri followed=0Aup]:=0A=0A=0AIf the URW fonts are only foun=
d under 'ghostscript' it is unlikely the=0Arequired AFM files are available=
. (I have not seen them as part of=0Aghostscript=0Afor many a year, I belie=
ve they are now baked into the executable in some=0Abinary form - to improv=
e speed).=0A=0AThis means pdf support will be 'intermediate' (all 35 fonts =
avilable same as=0Agrops, but the extra 'U' foundry fonts - the failed test=
s - cannot be built=0Abecause afmtodit requires access to AFM files.=0A=0AI=
n this situation I would expect the cnfigure script to report=0A'intermedia=
te',=0Aand Bruno did not report any problem during the build so I am assumi=
ng=0ABuildFoundries did the right thing and silently avoided tying to run a=
fmtodit=0Aon non-existent afm files.=0A=0ASo the question is why did config=
ure report 'full' when there were no afm=0Afiles only pfb files? I managed =
to duplicate the issue:-=0A=0AGNU roff version 1.24.1.1122-5c005 configurat=
ion summary=0A-------------------------------------------------------------=
---------=0Ainstallation directory prefix    : /usr/local=0AC++ compiler an=
d options         : g++ -g -O2=0AC compiler and options           : gcc -g =
-O2=0APerl interpreter version         : 5.42.0=0AGhostscript command      =
        : gs=0AURW fonts directory              : /usr/share/ghostscript/10=
.07.0/Resource/=0AFont/=0Agropdf service level             : full=0AX11 sup=
port                      : disabled=0Adefault paper format             : A=
4=0A'groff -l' uses print spooler    : lpr=0Apreconv can use uchardet libra=
ry : yes=0Acan build groff.{info,html,txt}  : no=0Acan build groff.{dvi,pdf=
}        : no=0A-----------------------------------------------------------=
-----------=0A=0ABut, only by using "--with-urw-fonts-dir=3Dusr/share/ghost=
script/10.07.0/=0AResource/Font/". Without this it reports 'intermediate'.=
=0A=0AThis is on current git but I'm sure its the same on rc1.=0A=0AAnd now=
 for something completely different...=0A=0AI noticed that when making our =
pdf documents it was actually using a previous=0Ainstalled version of groff=
 in /usr/local rather than the just built groff.=0A=0A=0AOur `GROFF_URW_FON=
TS_CHECK` doesn't even look for the AFM files, just the=0Afonts themselves.=
=0A=0AHere's the full macro in its present form.=0A=0A=0A# Check for availa=
bility of URW fonts in the directory specified by the=0A# user (see GROFF_U=
RW_FONTS_PATH above), if any.  Otherwise search a set=0A# of directories co=
mmonly (but variously) used to store them.=0A=0AAC_DEFUN([GROFF_URW_FONTS_C=
HECK], [=0A  AC_REQUIRE([GROFF_URW_FONTS_SUPPORT])=0A  AC_REQUIRE([GROFF_UR=
W_FONTS_PATH])=0A  AC_REQUIRE([GROFF_GHOSTSCRIPT_PATH])=0A  groff_have_urw_=
fonts=3Dno=0A  if test "$urwfontsupport" !=3D no=0A  then=0A    AC_MSG_CHEC=
KING([for URW fonts in Type 1/PFB format])=0A=0Adnl Keep this list in sync =
with font/devpdf/Foundry.in.=0A    _list_paths=3D"\=0A      /usr/share/font=
s/type1/urw-base35/ \=0A      /usr/share/fonts/urw-base35 \=0A      /opt/lo=
cal/share/fonts/urw-fonts/ \=0A      /usr/local/share/fonts/ghostscript/ \=
=0A      /usr/share/fonts/type1/gsfonts/ \=0A      /usr/share/fonts/type1/ =
\=0A      /usr/share/fonts/default/Type1/adobestd35/ \=0A      /usr/share/f=
onts/default/Type1/ \=0A      /usr/share/ghostscript/Resource/Font"=0A=0A  =
  if test -n "$urwfontsdir"=0A    then=0A      _list_paths=3D"$urwfontsdir"=
=0A    fi=0A=0Adnl Keep this list of font file names in sync with the corre=
sponding=0Adnl entry in font/devpdf/util/BuildFoundries.pl.=0A    for k in =
$_list_paths=0A    do=0A      for _font_file in \=0A        URWGothic-Book =
\=0A        URWGothic-Book.t1 \=0A        URWGothic-Book.pfb \=0A        UR=
WGothicL-Book.pfb \=0A        a010013l.pfb=0A      do=0A        if test -f =
$k/$_font_file=0A        then=0A          AC_MSG_RESULT([found in $k])=0A  =
        groff_have_urw_fonts=3Dyes=0A          urwfontsdir=3D$k=0A         =
 break 2=0A        fi=0A      done=0A    done=0A=0A    if test $groff_have_=
urw_fonts =3D no=0A    then=0A      AC_MSG_RESULT([none found])=0A    fi=0A=
  fi=0A=0A  AC_SUBST([groff_have_urw_fonts])=0A  AC_SUBST(urwfontsdir)=0A])=
=0A=0A=0AHowever, that's not the macro that determines the "gropdf service =
level".=0A=0A=0AAC_DEFUN([GROFF_GROPDF_DEPENDENCIES_CHECK], [=0A  AC_REQUIR=
E([GROFF_GHOSTSCRIPT_PATH])=0A  AC_REQUIRE([GROFF_URW_FONTS_CHECK])=0A=0A  =
gropdf_service_level=3Dbasic=0A=0A  if test "$GHOSTSCRIPT" !=3D missing=0A =
 then=0A    gropdf_service_level=3Dintermediate=0A  fi=0A=0A  if test "$gro=
ff_have_urw_fonts" =3D yes=0A  then=0A    gropdf_service_level=3Dfull=0A  f=
i=0A])=0A=0A=0AMaybe we could cache the location of the "_font_file" that t=
he former macro=0Adiscovers, use it to construct an "AFM" file name, and de=
grade from "full" to=0A"intermediate" service if _either_ that or "$GHOSTSC=
RIPT" is missing.=0A=0ADeri, do you think that would cover this scenario?=
=0A=0ADoes it seem like a good idea to you?=0A=0A=0A=0A=0A=0A=0A=0A    ____=
___________________________________________________=0A=0AReply to this item=
 at:=0A=0A  <https://savannah.gnu.org/bugs/?68567>=0A=0A___________________=
____________________________=0AMessage sent via Savannah=0Ahttps://savannah=
.gnu.org/=0A
--8323329-424238335-1785042309=:1023934
Content-Type: APPLICATION/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iHUEABYIAB0WIQQk97aszIMMAvLLwm6qLAuaBUf3TgUCamWVhQAKCRCqLAuaBUf3
TryLAQDgrQHBBv3SoqukvRdwDa4PeRKiPLrhLXbMaiFPdD3UvQD+NRr5B8ZllOm4
lTFxDe1a4iAdHVYb3FPQnNJzTN2ZAAs=
=SW4V
-----END PGP SIGNATURE-----

--8323329-424238335-1785042309=:1023934--