ghc Manual fails to build with Hadrian
Summary
At least on Fedora I am not able to build the ghc manual using Hadrian.
Fedora bug report: https://bugzilla.redhat.com/show_bug.cgi?id=2118242
Steps to reproduce
In Fedora:
$ fedpkg clone -a ghc9.4 # or ghc9.2
$ cd ghc9.4
$ fedpkg local --with manual --with quickbuild
which fails with:
| Run Sphinx HtmlMode: utils/haddock/doc => _build/doc/html/Haddock
| Run Sphinx HtmlMode: docs/users_guide => _build/doc/html/users_guide
/builddir/build/BUILD/ghc-9.4.1/utils/haddock/doc/common-errors.rst:10: WARNING: Title underline too short.
``parse error on input ‘-- $ xxx’``
----------------------------------
/builddir/build/BUILD/ghc-9.4.1/utils/haddock/doc/common-errors.rst:10: WARNING: Title underline too short.
``parse error on input ‘-- $ xxx’``
----------------------------------
/builddir/build/BUILD/ghc-9.4.1/utils/haddock/doc/markup.rst:954: WARNING: Title underline too short.
Emphasis, Bold and Monospaced styled Text
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/ghc-9.4.1/utils/haddock/doc/markup.rst:954: WARNING: Title underline too short.
Emphasis, Bold and Monospaced styled Text
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Run Tar Create: _build/doc/html/Haddock => _build/doc/archives/Haddock.html.tar.xz
WARNING: extlinks: Sphinx-6.0 will require a caption string to contain exactly one '%s' and all other '%' need to be escaped as '%%'.
WARNING: extlinks: Sphinx-6.0 will require a caption string to contain exactly one '%s' and all other '%' need to be escaped as '%%'.
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/9.4.1-notes.rst:62: ERROR: Unknown interpreted text role "lang-ext".
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/9.4.1-notes.rst:285: ERROR: Unknown interpreted text role "lang-ext".
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/phases.rst:345: WARNING: duplicate ghc-flag description of -U⟨symbol⟩, other instance in phases
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/phases.rst:609: WARNING: duplicate ghc-flag description of -fllvm, other instance in phases
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/phases.rst:1312: WARNING: duplicate ghc-flag description of -no-pie, other instance in phases
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/phases.rst:624: ERROR: Undefined substitution referenced: "llvm-version".
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/runtime_control.rst:1179: WARNING: duplicate rts-flag description of -hT, other instance in profiling
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/runtime_control.rst:1179: WARNING: duplicate rts-flag description of -h, other instance in profiling
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/runtime_control.rst:1391: WARNING: duplicate rts-flag description of -xc, other instance in profiling
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/using.rst:348: WARNING: duplicate ghc-flag description of -c, other instance in phases
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/using.rst:392: WARNING: duplicate ghc-flag description of -shared, other instance in phases
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/using.rst:412: WARNING: duplicate ghc-flag description of --show-iface ⟨file⟩, other instance in separate_compilation
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/using-warnings.rst:167: WARNING: duplicate ghc-flag description of -Wno-compat, other instance in using-warnings
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/using-warnings.rst:175: WARNING: duplicate ghc-flag description of -w, other instance in using-warnings
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/using-warnings.rst:220: WARNING: duplicate ghc-flag description of -Wwarn, other instance in using-warnings
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/9.4.1-notes.rst:28: WARNING: 'extension' reference target not found: UnboxedSums
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/9.4.1-notes.rst:34: WARNING: 'extension' reference target not found: TypeOperators
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/9.4.1-notes.rst:34: WARNING: 'extension' reference target not found: GADTs
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/9.4.1-notes.rst:34: WARNING: 'extension' reference target not found: TypeFamilies
:
:
:
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/what_glasgow_exts_does.rst:29: WARNING: 'extension' reference target not found: StandaloneDeriving
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/what_glasgow_exts_does.rst:30: WARNING: 'extension' reference target not found: TypeOperators
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/what_glasgow_exts_does.rst:31: WARNING: 'extension' reference target not found: TypeSynonymInstances
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/what_glasgow_exts_does.rst:32: WARNING: 'extension' reference target not found: UnboxedTuples
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/what_glasgow_exts_does.rst:33: WARNING: 'extension' reference target not found: UnicodeSyntax
/builddir/build/BUILD/ghc-9.4.1/docs/users_guide/what_glasgow_exts_does.rst:34: WARNING: 'extension' reference target not found: UnliftedFFITypes
user error (Undefined reference targets found in Sphinx log.)
Build failed.
More build details here.
I see the same failure for F35, F36, and Rawhide since I don't think it is a sphinx version issue: also the make build does not fail when building the manual.
Expected behavior
The ghc hadrian build with the manual to complete, like it does with make.
Though actually the make build.log looks quite similar but does not error/abort. So maybe Hadrian is more sensitive here than make? (There are more build links in the bugzilla link.)
Environment
- GHC version used: 9.4.1 (same for 9.2.* with hadrian I believe)
Optional:
- Operating System: Fedora Linux
- System Architecture: x86_64