URL:
  <https://savannah.gnu.org/bugs/?68567>

                 Summary: [devpdf] build on Manjaro Linux 23 finds
wrong/inadequate URW fonts, causing test failure
                   Group: GNU roff
               Submitter: gbranden
               Submitted: Sun 26 Jul 2026 05:05:05 AM UTC
                Category: Font devpdf
                Severity: 3 - Normal
              Item Group: Build/Installation
                  Status: Need Info
                 Privacy: Public
             Assigned to: deri
             Open/Closed: Open
         Discussion Lock: Unlocked
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Sun 26 Jul 2026 05:05:05 AM UTC By: G. Branden Robinson <gbranden>
[https://lists.gnu.org/archive/html/groff/2026-07/msg00029.html Bruno Haible
reports]:


On Manjaro Linux 23, I see a test failure. test-suite.log is attached.

Whereas when I configure with option '--without-urw-fonts', all tests pass.

===========================================
   GNU roff 1.25.0.rc1: ./test-suite.log
===========================================

# TOTAL: 363
# PASS:  354
# SKIP:  4
# XFAIL: 4
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: font/devpdf/tests/check-urw-foundry.sh
============================================

checking for font description U-AB...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-AB
...FAILED
checking for font description U-ABI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-ABI
...FAILED
checking for font description U-AI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-AI
...FAILED
checking for font description U-AR...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-AR
...FAILED
checking for font description U-BMB...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-BMB
...FAILED
checking for font description U-BMBI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-BMBI
...FAILED
checking for font description U-BMI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-BMI
...FAILED
checking for font description U-BMR...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-BMR
...FAILED
checking for font description U-CB...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-CB
...FAILED
checking for font description U-CBI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-CBI
...FAILED
checking for font description U-CI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-CI
...FAILED
checking for font description U-CR...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-CR
...FAILED
checking for font description U-HB...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HB
...FAILED
checking for font description U-HBI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HBI
...FAILED
checking for font description U-HI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HI
...FAILED
checking for font description U-HNB...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HNB
...FAILED
checking for font description U-HNBI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HNBI
...FAILED
checking for font description U-HNI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HNI
...FAILED
checking for font description U-HNR...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HNR
...FAILED
checking for font description U-HR...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-HR
...FAILED
checking for font description U-NB...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-NB
...FAILED
checking for font description U-NBI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-NBI
...FAILED
checking for font description U-NI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-NI
...FAILED
checking for font description U-NR...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-NR
...FAILED
checking for font description U-PB...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-PB
...FAILED
checking for font description U-PBI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-PBI
...FAILED
checking for font description U-PI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-PI
...FAILED
checking for font description U-PR...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-PR
...FAILED
checking for font description U-S...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-S
...FAILED
checking for font description U-TB...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-TB
...FAILED
checking for font description U-TBI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-TBI
...FAILED
checking for font description U-TI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-TI
...FAILED
checking for font description U-TR...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-TR
...FAILED
checking for font description U-ZCMI...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-ZCMI
...FAILED
checking for font description U-ZD...
test -f /home/bruno/groff-1.25.0.rc1/build-64/font/devpdf/U-ZD
...FAILED
FAIL font/devpdf/tests/check-urw-foundry.sh (exit status: 1)


[https://lists.gnu.org/archive/html/groff/2026-07/msg00050.html Deri followed
up]:


If the URW fonts are only found under 'ghostscript' it is unlikely the
required AFM files are available. (I have not seen them as part of
ghostscript
for many a year, I believe they are now baked into the executable in some
binary form - to improve speed).

This means pdf support will be 'intermediate' (all 35 fonts avilable same as
grops, but the extra 'U' foundry fonts - the failed tests - cannot be built
because afmtodit requires access to AFM files.

In this situation I would expect the cnfigure script to report
'intermediate',
and Bruno did not report any problem during the build so I am assuming
BuildFoundries did the right thing and silently avoided tying to run afmtodit
on non-existent afm files.

So the question is why did configure report 'full' when there were no afm
files only pfb files? I managed to duplicate the issue:-

GNU roff version 1.24.1.1122-5c005 configuration summary
----------------------------------------------------------------------
installation directory prefix    : /usr/local
C++ compiler and options         : g++ -g -O2
C compiler and options           : gcc -g -O2
Perl interpreter version         : 5.42.0
Ghostscript command              : gs
URW fonts directory              : /usr/share/ghostscript/10.07.0/Resource/
Font/
gropdf service level             : full
X11 support                      : disabled
default paper format             : A4
'groff -l' uses print spooler    : lpr
preconv can use uchardet library : yes
can build groff.{info,html,txt}  : no
can build groff.{dvi,pdf}        : no
----------------------------------------------------------------------

But, only by using "--with-urw-fonts-dir=usr/share/ghostscript/10.07.0/
Resource/Font/". Without this it reports 'intermediate'.

This is on current git but I'm sure its the same on rc1.

And now for something completely different...

I noticed that when making our pdf documents it was actually using a previous
installed version of groff in /usr/local rather than the just built groff.


Our `GROFF_URW_FONTS_CHECK` doesn't even look for the AFM files, just the
fonts themselves.

Here's the full macro in its present form.


# Check for availability of URW fonts in the directory specified by the
# user (see GROFF_URW_FONTS_PATH above), if any.  Otherwise search a set
# of directories commonly (but variously) used to store them.

AC_DEFUN([GROFF_URW_FONTS_CHECK], [
  AC_REQUIRE([GROFF_URW_FONTS_SUPPORT])
  AC_REQUIRE([GROFF_URW_FONTS_PATH])
  AC_REQUIRE([GROFF_GHOSTSCRIPT_PATH])
  groff_have_urw_fonts=no
  if test "$urwfontsupport" != no
  then
    AC_MSG_CHECKING([for URW fonts in Type 1/PFB format])

dnl Keep this list in sync with font/devpdf/Foundry.in.
    _list_paths="\
      /usr/share/fonts/type1/urw-base35/ \
      /usr/share/fonts/urw-base35 \
      /opt/local/share/fonts/urw-fonts/ \
      /usr/local/share/fonts/ghostscript/ \
      /usr/share/fonts/type1/gsfonts/ \
      /usr/share/fonts/type1/ \
      /usr/share/fonts/default/Type1/adobestd35/ \
      /usr/share/fonts/default/Type1/ \
      /usr/share/ghostscript/Resource/Font"

    if test -n "$urwfontsdir"
    then
      _list_paths="$urwfontsdir"
    fi

dnl Keep this list of font file names in sync with the corresponding
dnl entry in font/devpdf/util/BuildFoundries.pl.
    for k in $_list_paths
    do
      for _font_file in \
        URWGothic-Book \
        URWGothic-Book.t1 \
        URWGothic-Book.pfb \
        URWGothicL-Book.pfb \
        a010013l.pfb
      do
        if test -f $k/$_font_file
        then
          AC_MSG_RESULT([found in $k])
          groff_have_urw_fonts=yes
          urwfontsdir=$k
          break 2
        fi
      done
    done

    if test $groff_have_urw_fonts = no
    then
      AC_MSG_RESULT([none found])
    fi
  fi

  AC_SUBST([groff_have_urw_fonts])
  AC_SUBST(urwfontsdir)
])


However, that's not the macro that determines the "gropdf service level".


AC_DEFUN([GROFF_GROPDF_DEPENDENCIES_CHECK], [
  AC_REQUIRE([GROFF_GHOSTSCRIPT_PATH])
  AC_REQUIRE([GROFF_URW_FONTS_CHECK])

  gropdf_service_level=basic

  if test "$GHOSTSCRIPT" != missing
  then
    gropdf_service_level=intermediate
  fi

  if test "$groff_have_urw_fonts" = yes
  then
    gropdf_service_level=full
  fi
])


Maybe we could cache the location of the "_font_file" that the former macro
discovers, use it to construct an "AFM" file name, and degrade from "full" to
"intermediate" service if _either_ that or "$GHOSTSCRIPT" is missing.

Deri, do you think that would cover this scenario?

Does it seem like a good idea to you?







    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?68567>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to