bugGNU roff - Bugs: bug #62084, Parallel build failure: fatal...

 
 

bug #62084: Parallel build failure: fatal error: cannot load 'DESC' description file for device 'ps'

Submitter:  Sergei Trofimovich <slyfox>
Submitted:  Sat 19 Feb 2022 10:13:26 AM UTC
   
 
Category:  General Severity:  3 - Normal
Item Group:  Build/Installation Status:  Fixed
Privacy:  Public Assigned to:  gbranden
Open/Closed:  Closed Planned Release:  1.23.0
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 03 May 2022 10:28:36 PM UTC, comment #3: 

Survived 15 rebuilds for me on GNU make with --shuffle option (https://savannah.gnu.org/bugs/index.php?62100). Thank you!

Sergei Trofimovich <slyfox>
Tue 03 May 2022 06:35:58 PM UTC, comment #2: 


commit 3a58ef2712d1bcf123dbf925d3f371823533e71a
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date:   Mon May 2 01:13:48 2022 +1000

    [build]: Rationalize in-tree document deps.

    [build]: Reduce and rationalize in-tree document dependencies.  This
    eliminates spurious rebuilds of numerous documents (including the
    380+-page groff-man-pages collections).  It also fixes missing
    dependencies when using the build's groff to generate PostScript
    documents.

    * .gitignore: Drop old name of devpdf stamp file.

    * doc/.gitignore: Drop now-unused "example.stamp" file.

    * doc/doc.am (PROCESSEDDOCFILES_HTML, PROCESSEDDOCFILES_PDF,
      PROCESSEDDOCFILES_TXT): Add new macros grouping targets by the
      format/output driver used to produce them, to better organize
      dependencies for their generation.

      (PROCESSEDDOCFILES): Redefine as simply the expansions of the
      foregeoing.

      (PROCESSEDFILES_DEPS_HTML, PROCESSEDFILES_DEPS_HTML,
      PROCESSEDFILES_DEPS_PDF, PROCESSEDFILES_DEPS_TXT): Add new macros
      defining prerequisites for production of the corresponding output
      document formats.

      ($(PROCESSEDDOCFILES_HTML), $(PROCESSEDDOCFILES_PDF),
      $(PROCESSEDDOCFILES_PS), $(PROCESSEDDOCFILES_TXT)): Declare the
      dependencies using expansions of the foregoing macros.

      (MOSTLYCLEANFILES): Drop "doc/automake.pdf", now part of
      `PROCESSEDDOCFILES_PDF`.

      (doc/automake.pdf): Drop dependencies already supplied by
      `PROCESSEDFILES_DEPS_PDF`.

      (HTMLDOCFILES): Drop macro.  "doc/pic.html" is now in the expansion of
      `PROCESSEDDOCFILES_HTML`.

      (htmlpic_DATA): Redefine as expansion of `PROCESSEDDOCFILES_HTML`
      instead of `HTMLDOCFILES`.

      (PROCESSEDEXAMPLEFILES_HTML) [BUILD_HTML]: Define as
      "doc/webpage.html", otherwise as empty.

      (PROCESSEDEXAMPLEFILES_PS): Contain "doc/webpage.ps" and
      "doc/grnexampl.ps".

      (PROCESSEDEXAMPLEFILES): Redefine as expansions of
      `PROCESSEDEXAMPLEFILES_HTML` and `PROCESSEDEXAMPLEFILES_PS`.

      ($(PROCESSEDEXAMPLEFILES_HTML), $(PROCESSEDEXAMPLEFILES_PS)): Declare
      dependencies using `PROCESSEDFILES_DEPS_HTML` and
      `PROCESSEDFILES_DEPS_PS`, respectively.

      (nodist_docexamples_DATA): Redefine macro as expansions of now-split
      macros `PROCESSEDEXAMPLEFILES_HTML` and `PROCESSEDEXAMPLEFILES_PS`.

      (HTMLEXAMPLEFILES): Drop macro.  "doc/webpage.html" is now in the
      expansion of `PROCESSEDDOCFILES_HTML`.

      (nodist_htmlexamples_DATA): Drop macro, no longer needed.

      ($(PROCESSEDDOCFILES_PS)): Relocated and redefined above.
      ($(PROCESSEDEXAMPLEFILES) $(PROCESSEDDOCFILES)): Drop overbroad
      dependency declarations in favor of the above.

      (MOSTLYCLEANFILES, doc/examples.stamp): Drop generation and removal of
      unnecessary stamp file.

      (doc/pic.html, doc/webpage.html): Add explicit dependency on required
      preprocessors.  Drop redundant and spurious dependencies.

    * font/devhtml/devhtml.am (MOSTLYCLEANFILES, font/devhtml/stamp):
      Generate and remove stamp file to enable reliable target dependencies
      for build-time generation of HTML documents by groff.

    * font/devpdf/devpdf.am (MOSTLYCLEANFILES, font/devpdf/stamp): Rename
      stamp file from "font/devpdf/build_font_files".

      (font/devpdf/stamp): Drop unnecessary dependency on "afmtodit".

    * font/devps/devps.am (MOSTLYCLEANFILES, font/devps/stamp): Generate and
      remove stamp file to enable reliable target dependencies for
      build-time generation of PostScript documents by groff.

    * font/devutf8/devutf8.am (MOSTLYCLEANFILES, font/devutf8/stamp):
      Generate and remove stamp file to enable reliable target dependencies
      for build-time generation of UTF-8-encoded text documents by groff.

    * contrib/hdtbl/hdtbl.am (HDTBLPROCESSEDEXAMPLEFILES): Add dependency on
      devps stamp file since the files' target rule generates PostScript
      with groff.

    * contrib/mom/mom.am ($(MOMPROCESSEDEXAMPLEFILES)): Depend on new name
      for devpdf stamp file.

    * contrib/sboxes/sboxes.am ($(sboxes_builddir)/msboxes.pdf): Depend on
      new name for devpdf stamp file.

    Fixes <https://savannah.gnu.org/bugs/?62084>; thanks to Sergei
    Trofimovich for the report.  Also fixes
    <https://savannah.gnu.org/bugs/?62297>; thanks to Bjarni Ingi Gislason
    for the report.

    Tested with the following script.

            #!/bin/sh

            set -e

            test -d build
            cd build

            for file in \
                contrib/hdtbl/examples/chess_board.ps \
                contrib/hdtbl/examples/col_rowspan_colors.ps \
                contrib/hdtbl/examples/color_boxes.ps \
                contrib/hdtbl/examples/color_nested_tables.ps \
                contrib/hdtbl/examples/color_table_cells.ps \
                contrib/hdtbl/examples/color_transitions.ps \
                contrib/hdtbl/examples/fonts_n.ps \
                contrib/hdtbl/examples/fonts_x.ps \
                contrib/hdtbl/examples/mixed_pickles.ps \
                contrib/hdtbl/examples/rainbow.ps \
                contrib/hdtbl/examples/short_reference.ps \
                contrib/mom/examples/copyright-chapter.pdf \
                contrib/mom/examples/copyright-default.pdf \
                contrib/mom/examples/letter.pdf \
                contrib/mom/examples/mom-pdf.pdf \
                contrib/mom/examples/mon_premier_doc.pdf \
                contrib/mom/examples/sample_docs.pdf \
                contrib/mom/examples/slide-demo.pdf \
                contrib/mom/examples/typesetting.pdf \
                contrib/sboxes/msboxes.pdf \
                doc/automake.pdf \
                doc/grnexmpl.ps \
                doc/groff-man-pages.pdf \
                doc/groff-man-pages.utf8.txt \
                doc/meintro.ps \
                doc/meintro_fr.ps \
                doc/meref.ps \
                doc/ms.ps \
                doc/pic.html \
                doc/pic.ps \
                doc/webpage.ps
            do
                make -j clean
                make -j "$file"
            done


G. Branden Robinson <gbranden>
Group administrator
Wed 23 Feb 2022 01:23:45 PM UTC, comment #1: 


original submission:

> Incomplete dependencies in Makefile causes occasional parallel build failures (make -j).


I've never seen this--I guess I just don't have enough cores.  :)

> Here is seemingly deterministic way to make `groff` build fail in sequential mode for me:
>


> $ ./bootstrap
> $ ./configure
> $ make contrib/hdtbl/examples/col_rowspan_colors.ps
> ...
> make contrib/hdtbl/examples/col_rowspan_colors.ps
>   GROFF    contrib/hdtbl/examples/col_rowspan_colors.ps
> /home/slyfox/dev/git/groff/groff: fatal error: cannot load 'DESC' description file for device 'ps'
> make: *** [Makefile:12392: contrib/hdtbl/examples/col_rowspan_colors.ps] Error 3
> make: *** Deleting file 'contrib/hdtbl/examples/col_rowspan_colors.ps'


Yup.  Can confirm.  Thanks for the report and the easy reproducer.  The first thing I tried (attached) revealed a missing dependency elsewhere, on gnulib's uniwidth.h.  Hooray!

I'll see what I can do.

(file #52910)

G. Branden Robinson <gbranden>
Group administrator
Sat 19 Feb 2022 10:13:26 AM UTC, original submission:  

Incomplete dependencies in Makefile causes occasional parallel build failures (make -j).

Here is seemingly deterministic way to make `groff` build fail in sequential mode for me:


$ ./bootstrap
$ ./configure
$ make contrib/hdtbl/examples/col_rowspan_colors.ps
...
make contrib/hdtbl/examples/col_rowspan_colors.ps
  GROFF    contrib/hdtbl/examples/col_rowspan_colors.ps
/home/slyfox/dev/git/groff/groff: fatal error: cannot load 'DESC' description file for device 'ps'
make: *** [Makefile:12392: contrib/hdtbl/examples/col_rowspan_colors.ps] Error 3
make: *** Deleting file 'contrib/hdtbl/examples/col_rowspan_colors.ps'


Sergei Trofimovich <slyfox>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #52910:  62084-proposed.diff added by gbranden (794B - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by gbranden (Updated the item)
  • -email is unavailable- added by slyfox (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-05-03 gbranden StatusIn Progress Fixed
        Open/ClosedOpen Closed
        Planned ReleaseNone 1.23.0
    2022-05-01 gbranden StatusConfirmed In Progress
    2022-02-23 gbranden CategoryNone General
    2022-02-23 gbranden Attached File- Added 62084-proposed.diff, #52910
        StatusNone Confirmed
        Assigned toNone gbranden

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code