Regression since Racket 8.5: fonts are required to build successfully.
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 5.2k
- Forks
- 698
- Avg merge
- 18h 34m
- Merged PRs (30d)
- 5
Description
We are compiling Racket in a minimalist container (Void Linux x86_64 glibc), and Racket 8.4 builds fine without any true-type fonts installed.
However, since 8.5 (and also in snapshot 8.5.0.8), raco setup fails when no fonts are found:
raco setup: error: during building docs for <pkgs>/racket-doc/scribblings/guide/guide.scrbl
raco setup: draw-polygon in dc<%>: drawing context is not ok: (wrapper-object:bitmap-dc% ...)
raco setup: context...:
raco setup: .../private/arrow-higher-order.rkt:375:33: ...row-higher-order.rkt:375:33
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/pict-lib/pict/private/utils.rkt:653:9
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/pict-lib/pict/private/pict.rkt:1805:6: loop
raco setup: [repeats 1 more time]
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/pict-lib/pict/private/pict.rkt:1969:0: convert-pict/bytes
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/pict-lib/pict/private/pict.rkt:1919:0: convert-pict
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/scribble-lib/scribble/html-render.rkt:1261:4: render-content method in render-mixin
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/scribble-lib/scribble/base-render.rkt:974:4: render-content method in render%
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/scribble-lib/scribble/html-render.rkt:1207:4: do-render-paragraph method in render-mixin
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/scribble-lib/scribble/base-render.rkt:969:4: render-nested-flow method in render
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/scribble-lib/scribble/html-render.rkt:1775:4: render-nested-flow method in render-mixin
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/scribble-lib/scribble/html-render.rkt:1194:6: loop
raco setup: [repeats 2 more times]
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/scribble-lib/scribble/html-render.rkt:1118:4: render-part-content method in render-mixin
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/scribble-lib/scribble/html-render.rkt:1184:14: loop
raco setup: /destdir/racket-8.6/usr/share/racket/pkgs/scribble-lib/scribble/html-render.rkt:1118:4: render-part-content method in render-mixin
raco setup: ...
raco setup:
failed
Installing e.g. the liberation-ttf fonts fixes this problem.
If fonts are required for building, it would be good to get a better error message. Else, this may be a regression from 8.4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with raco setup in a minimalist environment without fonts, focusing on <pkgs>/racket-doc/scribblings/guide/guide.scrbl. Read the reported paths in pict/private/utils.rkt, pict/private/pict.rkt, and the Scribble renderers to determine whether missing fonts are expected. Done means either the build no longer fails without fonts or it reports the requirement clearly.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system, documentation
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100