python / docsbuild-scripts

scripts for building documentation on docs.python.org
63 stars 56 forks source link

online docsbuild of 3.6.* doc archives is broken, downloadable files not available #13

Closed ned-deily closed 7 years ago

ned-deily commented 7 years ago

One of the tasks of docbuild-scripts/build-docs.py is to rebuild downloadable copies of the documentation suite in various formats (.pdf, .epub, etc) and make them available on the website: for example, https://docs.python.org/3/download.html has links to the various files like https://docs.python.org/3/archives/python-3.6.2rc2-docs-pdf-letter.zip. But since the recent release of 3.6.2rc2, while the online html docs are getting updated - note the rc2 in the links - the downloadable files themselves aren't being generated. Those files are served from the docs server at /srv/docs.python.org/3.6/archives and, at the moment, the most recent update there was on 2017-06-28 when 3.6.2rc1 was still current. For other branches, like 3.5 and 2.7, the archives files seem to be being regularly rebuilt as expected. 2017-06-28 also happens to be the date of the last change to build-docs.py, #11.

And, indeed, looking at the most recent /var/log/docsbuild/python36.log.1, we see:

[...]
build succeeded, 19 warnings.

Build finished; the LaTeX files are in build/latex.
Run 'make all-pdf' or 'make all-ps' in that directory to run these through (pdf)latex.
make[3]: Leaving directory '/srv/docsbuild/python36/Doc'
sed -i 's/makeindex/makeindex -q/' build/latex/Makefile
(cd build/latex; make clean && make all-pdf && make FMT=pdf zip bz2)
make[3]: Entering directory '/srv/docsbuild/python36/Doc/build/latex'
rm -f *.dvi *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla
make[3]: Leaving directory '/srv/docsbuild/python36/Doc/build/latex'
make[3]: Entering directory '/srv/docsbuild/python36/Doc/build/latex'
pdflatex  'c-api.tex'
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian)
 restricted \write18 enabled.
entering extended mode
(./c-api.tex
LaTeX2e <2011/06/27>
Babel <3.9h> and hyphenation patterns for 2 languages loaded.
(./sphinxmanual.cls
Document Class: sphinxmanual 2009/06/02 Document class (Sphinx manual)
(/usr/share/texlive/texmf-dist/tex/latex/base/report.cls
Document Class: report 2007/10/19 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo)))
(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/ucs/utf8x.def))
(/usr/share/texlive/texmf-dist/tex/latex/ucs/ucs.sty
(/usr/share/texlive/texmf-dist/tex/latex/ucs/data/uni-global.def))
(/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty)
(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def)<<t1.cmap>>)
(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty

! Package babel Error: Unknown option 'french'. Either you misspelled it
(babel)                or the language definition file french.ldf was not found
.

See the babel package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.296 \ProcessOptions*

? 
! Emergency stop.
 ...                                              

l.296 \ProcessOptions*

!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on c-api.log.
make[3]: *** [c-api.pdf] Error 1
make[3]: Leaving directory '/srv/docsbuild/python36/Doc/build/latex'
make[2]: *** [dist] Error 2
make[2]: Leaving directory '/srv/docsbuild/python36/Doc'
make[1]: *** [autobuild-dev] Error 2
make[1]: Leaving directory '/srv/docsbuild/python36/Doc'
make: *** [autobuild-stable] Error 2
make[1]: Entering directory '/srv/docsbuild/python36/Doc'
make html SPHINXOPTS=' -Ea -A daily=1 -A versionswitcher=1'
make[2]: Entering directory '/srv/docsbuild/python36/Doc'
/srv/docsbuild/environment/bin/sphinx-build -b html -d build/doctrees -D latex_elements.papersize= -Ea -A daily=1 -A versionswitcher=1 . build/html 
Running Sphinx v1.3.3
[...]
ned-deily commented 7 years ago

@ewdurbin, @JulienPalard ^^^

ewdurbin commented 7 years ago

it appears that language packages for TeX are distributed independently.

i've manually added the texlive-lang-french package to the docbuild server and will bake it into our provisioning if that resolves the issue.

ewdurbin commented 7 years ago

https://github.com/python/psf-salt/commit/9a2c563188fa107589482aafc7293bdc1c8763e6

ned-deily commented 7 years ago

@ewdurbin Looks like the 36 build is still failing with same error, as of 2017-07-10 17:20 UTC, about an hour ago.

JulienPalard commented 7 years ago

I'm currently trying to reproduce it locally. @ned-deily does the same error happen for both french and english builds?

JulienPalard commented 7 years ago

Best bet so far: the package texlive-lang-french is not yet installed.

ewdurbin commented 7 years ago

@JulienPalard it is installed :/

ewdurbin commented 7 years ago

@JulienPalard @ned-deily turns out installing the package last night did resolve the issue. but a "quick" run overlapped with the run which successfully built the archives.

I just paused cron and ran a full build and it appears all is well, just needed the texlive-lang-french package.

ned-deily commented 7 years ago

@ewdurbin So it is! Thanks to both of you for resolving this.