Open agstephens opened 2 years ago
Unclear how this can be tested in the course of preparing a Jaspy release, when it does not get installed on the notebook service until after the release is published and made the default version.
The packages required might be installed in jaspy or in the jasmin-notebooks DockerFile directly.
Installing texlive-collection-xetex
in the jasmin-notebooks DockerFile has got it past the error. It has hit a similar one regarding tcolorbox.sty
- currently testing whether fixed by adding texlive-tcolorbox
RPM.
Not wanting to add it to Jaspy itself at this stage - we currently provide LaTeX via jasmin-sci, and a move to Jaspy would require making sure that we have everything that is equivalent to the RPMs that we provide, so would have to be done carefully.
Now another error - missing parskip.sty
. How many iterations will be needed? It is very slow each time.
Have confirmed that texlive-parskip
is the relevant RPM, so trying with this added (as a separate yum install
command to try to speed things up, in case docker on breezy has cached the result of the previous step). If this doesn't work, then I'll try some interactive experimentation using the same locally running container that I'm using to work on https://github.com/cedadev/ceda-jaspy-envs/issues/104
For some reason, the previous command (RUN yum install -y texlive-collection-xetex texlive-tcolorbox
) is running explicitly, despite the fact that the earlier commands got "Using cache". Just have to wait while it installs large number of small packages all over again.
Now missing upquote.sty
In interactive testing, installed all of these packages:
texlive-collection-xetex texlive-tcolorbox texlive-parskip texlive-upquote texlive-eurosym texlive-adjustbox texlive-zapfding texlive-titling texlive-rsfs texlive-jknapltx texlive-lm-math
and now hitting the error seen at https://superuser.com/questions/1473258/error-exporting-pdf-file-in-jupyter-notebook-pgfkeys-tcb-size-error
I've intercepted what it's doing (by temporarily creating a shell script wrapper at /usr/bin/xelatex
), and see that it is trying to run xelatex notebook.tex -quiet
on the attached file (renamed as .txt
extension because of restrictions on github):
Tested the same notebook.tex
file on a more recent version of texlive (on Ubuntu: texlive-xetex/focal,focal,now 2019.20200218-1), and it worked fine. The question is how to get this installed on the CentOS7 box - it is not supported by CentOS.
I am getting absolutely nowhere with this. Tried installing it via Jaspy (although that raises issues of its own per above comment yesterday), and there is conda package texlive-core
which provides latex
but not xelatex
, and no sign of anything like texlive-xetex
or texlive-xelatex
for conda. Also trying to process the notebook.tex
with this latex
executable failed (can't find latex.fmt
). In fact the conda installation seems to be generally broken - couldn't process a "hello world" document (with latex
or pdflatex
etc). There is allegedly an alternative package called "miktex" but this could not be found.
In principle there is a working fix in https://gitlab.ceda.ac.uk/jasmin-notebooks/jasmin-notebooks/-/commit/c51e0fcb40b458398a8ffe6dcf31cee7c6920da4 but adds too much to image size and build time. We have decided not to include it in this release.
(The build in the CI pipeline times out because it takes more than an hour. This could be worked around by building the release locally, saving the files to the dist server, and have it just download these. But it would increase maintenance overhead and still not address the problem of the size of the images. Another possible solution is whether the texlive software could be put onto a mounted filesystem used by the notebook pods.)
To make this work:
nbconvert failed: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex.