Skip to content

Docs build failure

On commit 785008c1:

Short error

Error, file does not exist and no rule available:
  libraries/template-haskell/template-haskell.cabal

Full error

% ./hadrian/build.stack.sh -j --flavour=quickest docs
| Run Sphinx LatexMode: utils/haddock/doc => /tmp/extra-dir-6398838421693
| Run Sphinx HtmlMode: utils/haddock/doc => _build/docs/html/Haddock
| Run Sphinx ManMode: docs/users_guide => /tmp/extra-dir-6398838421694
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "terminfo", pkgPath = "libraries/terminfo"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "binary", pkgPath = "libraries/binary"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "process", pkgPath = "libraries/process"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "parsec", pkgPath = "libraries/parsec"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "transformers", pkgPath = "libraries/transformers"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "deepseq", pkgPath = "libraries/deepseq"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "hpc", pkgPath = "libraries/hpc"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "directory", pkgPath = "libraries/directory"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "mtl", pkgPath = "libraries/mtl"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "filepath", pkgPath = "libraries/filepath"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "unix", pkgPath = "libraries/unix"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "ghc-prim", pkgPath = "libraries/ghc-prim"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "Cabal", pkgPath = "libraries/Cabal/Cabal"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "exceptions", pkgPath = "libraries/exceptions"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "haskeline", pkgPath = "libraries/haskeline"})))
# cabal-read (for OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "stm", pkgPath = "libraries/stm"})))
Traceback (most recent call last):
  File "/usr/bin/sphinx-build", line 15, in <module>
    sys.exit(main(sys.argv))
  File "/usr/lib/python2.7/dist-packages/sphinx/__init__.py", line 71, in main
    return build_main(argv)
  File "/usr/lib/python2.7/dist-packages/sphinx/__init__.py", line 82, in build_main
    from sphinx import cmdline
  File "/usr/lib/python2.7/dist-packages/sphinx/cmdline.py", line 24, in <module>
    from sphinx.application import Sphinx
  File "/usr/lib/python2.7/dist-packages/sphinx/application.py", line 30, in <module>
    from sphinx.config import Config
  File "/usr/lib/python2.7/dist-packages/sphinx/config.py", line 24, in <module>
    from sphinx.util.pycompat import execfile_, NoneType
  File "/usr/lib/python2.7/dist-packages/sphinx/util/pycompat.py", line 48, in <module>
Traceback (most recent call last):
  File "/usr/bin/sphinx-build", line 15, in <module>
    sys.exit(main(sys.argv))
  File "/usr/lib/python2.7/dist-packages/sphinx/__init__.py", line 71, in main
    sys_encoding = __import__('locale').getpreferredencoding()
  File "/usr/lib/python2.7/locale.py", line 619, in getpreferredencoding
    return build_main(argv)
  File "/usr/lib/python2.7/dist-packages/sphinx/__init__.py", line 82, in build_main
    from sphinx import cmdline
  File "/usr/lib/python2.7/dist-packages/sphinx/cmdline.py", line 24, in <module>
    from sphinx.application import Sphinx
  File "/usr/lib/python2.7/dist-packages/sphinx/application.py", line 30, in <module>
    from sphinx.config import Config
  File "/usr/lib/python2.7/dist-packages/sphinx/config.py", line 22, in <module>
    from sphinx.util.i18n import format_date
  File "/usr/lib/python2.7/dist-packages/sphinx/util/i18n.py", line 34, in <module>
    LocaleFileInfoBase = namedtuple('CatalogInfo', 'base_dir,domain,charset')
  File "/usr/lib/python2.7/collections.py", line 376, in namedtuple
    result = nl_langinfo(CODESET)
KeyboardInterrupt
    for index, name in enumerate(field_names))
KeyboardInterrupt
Traceback (most recent call last):
  File "/usr/bin/sphinx-build", line 15, in <module>
    sys.exit(main(sys.argv))
  File "/usr/lib/python2.7/dist-packages/sphinx/__init__.py", line 71, in main
    return build_main(argv)
  File "/usr/lib/python2.7/dist-packages/sphinx/__init__.py", line 82, in build_main
    from sphinx import cmdline
  File "/usr/lib/python2.7/dist-packages/sphinx/cmdline.py", line 24, in <module>
    from sphinx.application import Sphinx
  File "/usr/lib/python2.7/dist-packages/sphinx/application.py", line 38, in <module>
    from sphinx.registry import SphinxComponentRegistry
  File "/usr/lib/python2.7/dist-packages/sphinx/registry.py", line 15, in <module>
    from pkg_resources import iter_entry_points
  File "/home/niklas/.local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 41, in <module>
    import inspect
  File "/usr/lib/python2.7/inspect.py", line 37, in <module>
    import dis
  File "/usr/lib/python2.7/dis.py", line 6, in <module>
    from opcode import *
  File "/usr/lib/python2.7/opcode.py", line 5, in <module>
    """
KeyboardInterrupt
Error when running Shake build system:
  at want, called at src/Main.hs:89:30 in main:Main
* Depends on: docs
  at need, called at src/Rules/Documentation.hs:112:9 in main:Rules.Documentation
* Depends on: _build/docs/html/index.html
  at need, called at src/Rules/Documentation.hs:160:9 in main:Rules.Documentation
* Depends on: _build/docs/html/libraries/index.html
  at need, called at src/Rules/Documentation.hs:194:9 in main:Rules.Documentation
* Depends on: _build/docs/html/libraries/exceptions/exceptions.haddock
  at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.3-K6N2eLzVtai6jtZeWAmEIo:Development.Shake.Internal.Rules.Oracle
* Depends on: OracleQ (ContextDataKey (Context {stage = Stage1, package = Package {pkgType = Library, pkgName = "exceptions", pkgPath = "libraries/exceptions"}, way = v}))
  at need, called at src/Hadrian/Oracles/Cabal/Rules.hs:53:9 in main:Hadrian.Oracles.Cabal.Rules
* Depends on: _build/stage1/libraries/exceptions/setup-config
  at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.18.3-K6N2eLzVtai6jtZeWAmEIo:Development.Shake.Internal.Rules.Oracle
* Depends on: OracleQ (PackageDataKey (Package {pkgType = Library, pkgName = "template-haskell", pkgPath = "libraries/template-haskell"}))
  at need, called at src/Hadrian/Oracles/Cabal/Rules.hs:41:9 in main:Hadrian.Oracles.Cabal.Rules
* Depends on: libraries/template-haskell/template-haskell.cabal
  at error, called at src/Development/Shake/Internal/Rules/File.hs:179:58 in shake-0.18.3-K6N2eLzVtai6jtZeWAmEIo:Development.Shake.Internal.Rules.File
* Raised the exception:
Error, file does not exist and no rule available:
  libraries/template-haskell/template-haskell.cabal

Problem

Building the docs target seems to assume the presence of

libraries/template-haskell/template-haskell.cabal

but there is only

libraries/template-haskell/template-haskell.cabal.in

so it seems that the build system doesn't know that it has to build that cabal file first.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information