Re: typesetting.{mom,pdf} and the groff build system (was: proposed "headline" items for groff 1.24.0)

Deri via GNU roff typesetting system discussion <[email protected]>
Newsgroups gmane.comp.printing.groff.general
Message-ID <2379425.sdkjOjHHdd@pip>
On Tuesday, 3 February 2026 17:21:28 GMT G. Branden Robinson wrote:
> Hi Deri,
> 
> At 2026-02-03T16:37:34+0000, Deri wrote:
> > On Monday, 2 February 2026 17:48:11 GMT G. Branden Robinson wrote:
> > > > As you failed to generate a proper basic run, consideration of what
> > > > happens next is moot.
> > > 
> > > I'm going to disregard the rest of your message, as you're having
> > > obvious trouble comprehending mine.
> > > 
> > > Let me know when you make sense of it.
> > 
> > Ah, the mists are clearing. My instructions were confusing, sorry.
> 
> Acknowledged.  Properly supporting multiple configurations can be a real
> PITA.
> 
> > "after make these fonts available..."
> > 
> > Would have been much better expressed as
> > 
> > "after running 'make' you should see these fonts"
> 
> Font _descriptions_...
> 
> Yeah, but see them _where_?  In the build tree, or the installation
> directory?
> 
> > (sometimes my v. slow typing makes me too succinct so my true meaning
> > is lost).
> 
> Also there always lurks the devil of terminological precision.  :)
> 
> > Due to this confusion you showed me the contents of the devpdf install
> > directory after 'make install'.
> > 
> > I'm very glad you did. My focus is on building the appropriate files
> > correctly, I assumed that the install phase would promote those built
> > objects to the proper install directory, so I don't test that as often
> > as I should. I would not have realised this is not what is happening
> > now.
> 
> Where "now" = 1.24.0.rc2, I think that's a correct assessment.
> 
> The install phase will not do things properly if we don't take explicit
> steps to ensure that it does.  Automake handles a lot of stuff for us,
> but a device-independent troff's font management infrastructure is not
> among that stuff.
> 
> > Using current master (same for rc2) in the basic mode (no gs command
> > and no separate urw fonts found) running 'make' generates these
> > files:-
> > 
> > [derij@pip build (master)]$ ls font/devpdf
> > CB   CI  DESC      enc/  Foundry  HBI  HR    S   symbolsl.afm  TB   TI 
> > util/ CBI  CR  download  EURO  HB       HI   map/  SS  symbolsl.pfb  TBI 
> > TR  ZD
> > 
> > These are the correct files which should be promoted to the install
> > directory for basic mode.
> 
> ...minus the "util" directory, which hasn't been installed since groff
> 1.22.3.
> 
> A more salient point is that we see only font descriptions for the PDF
> Base 14 fonts.  That seems okay to me.  (I'd be okay with installing
> font descriptions for all PostScript level 2 Base 35 fonts at this
> "basic" support level, too, supposing that with Free Software versions
> of these being widely available, PDF readers may have them "built-in"
> even if the standard doesn't require them to do so.)
> 
> Further, since that's what my working copy is doing, so I'd rather not
> perturb it unless someone feels strongly that we need to change it for
> "correctness".
> 
> > [derij@pip build (master)]$ sudo make install
> > [...]
> > [derij@pip build (master)]$ ls /usr/local/share/groff/1.24.0/font/devpdf
> > AB   BMB   CB   DESC      Foundry  HNB   HR    NI   PI  symbolsl.afm  TI
> > ABI  BMBI  CBI  download  HB       HNBI  map/  NR   PR  symbolsl.pfb  TR
> > AI   BMI   CI   enc/      HBI      HNI   NB    PB   S   TB            ZCMI
> > AR   BMR   CR   EURO      HI       HNR   NBI   PBI  SS  TBI           ZD
> > 
> > Exactly like you showed me when I was showing you font/devpdf. If I
> > now look again  at the devpdf build directory:-
> > 
> > [derij@pip build (master)]$ ls font/devpdf
> > AB   BMB   CB   DESC      Foundry  HNB   HR    NI   PI  symbolsl.afm  TI  
> >  ZD ABI  BMBI  CBI  download  HB       HNBI  map/  NR   PR  symbolsl.pfb 
> > TR AI   BMI   CI   enc/      HBI      HNI   NB    PB   S   TB           
> > util/ AR   BMR   CR   EURO      HI       HNR   NBI   PBI  SS  TBI        
> >   ZCMI
> > 
> > These extra (non base-14) fonts have appeared in the build directory
> > and been installed. Is this normal make install behaviour.
> 
> Not if you "make distclean" and re-"configure" after uninstalling
> whatever packages supply the URW Base 35 fonts on your system.  :)

Ok, thanks I'll try exactly that, let me know if I am doing something wrong.

URW fonts gone. Check
Ghostscript gone. Check
git checkout master. Check

Now go. (cwd 'build' directory)

make uninstall
make distclean

# A bit of belt'n'braces
cd ..
rm -rf build
mkdir build
cd build
rm -rf /usr/local/share/groff/1.24.0
###

../configure --without-urw-fonts
# see missing ghostscript message and no urw fonts
make -j

make check

============================================================================
# TOTAL: 310
# PASS:  299
# SKIP:  6
# XFAIL: 5
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

$ ls font/devpdf
CB   CI  DESC      enc/  Foundry  HBI  HR    S   symbolsl.afm  TB   TI  util/
CBI  CR  download  EURO  HB       HI   map/  SS  symbolsl.pfb  TBI  TR  ZD

sudo make install

$ ls font/devpdf
AB   BMB   CB   DESC      Foundry  HNB   HR    NI   PI  symbolsl.afm  TI    ZD
ABI  BMBI  CBI  download  HB       HNBI  map/  NR   PR  symbolsl.pfb  TR
AI   BMI   CI   enc/      HBI      HNI   NB    PB   S   TB            util/
AR   BMR   CR   EURO      HI       HNR   NBI   PBI  SS  TBI           ZCMI

Those extra files added to font/devpdf again by 'make install' (i.e. after 
'make check' so we are installing files which were not present when the check 
was done), what have I done wrong - if you are saying it should not happen.

> 
> > It has changed the files after all the groff pdf documents have been
> > produced by 'make' and then 'make check'ed.  So 'make check' has been
> > run before the contents of font/devpdf has been altered.
> 
> We rely on a stamp file, font/devpdf/stamp.  Unfortunately, the stamp
> file is not made out of date by NOT removing files that it _no longer_
> depends on.  So a possibility exists for running the tests against a
> configuration that no longer reflects the state of the system.
> 

Note the entire 'build' directory was removed prior to configure.

Cheers

Deri
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.