-
-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mismatched LaTeX support files detected #424
Comments
It could be specific to how Quarto is calling TinyTeX and tlmgr when doing update. (as t seems you are using in Quarto context). If you have easily access to your environment, you could try rendering a Rmd document to PDF with R which will use tinytex R package to call Which version of Quarto are you using ? If you look for "Mismatched LaTeX support files detected." on the web, you'll see that this is common error that could happen when updating files. and usually solution is to run Quarto does not seem to run this ever. @yihui from your experience, should this be run after an update ? @wesleyburr you could try running this command and see if it solves. Some notes: Even if you are using Docker, if you are not using a full CTAN install or with locked CTAN repo, there will always be updates of packages or TeX Live itself, especially as Quarto is auto-installing missing packages. This type of error could happen for you because even if you update during one render, the TeX Live state come back to initial when you close you docker and re-run it. So maybe this cause issue with CTAN repo etc... |
This issue was fixed in tinytex via 5946a2a, but Quarto has its own implementation of tinytex's features, and it might have missed this one. For tinytex, when it detects the mismatched Line 220 in cd41991
which fixes this issue. |
The image is using
Very interesting to know that you did this update, and that it might not have propagated to Quarto. Yihui, do you have any advice on how to freeze the tinytex install on an image like this, to prevent it from ever updating? This is used in a university setting, and it's frustrating to have a working VM like this for students, and have it decide to update randomly. I'd rather update the VM once every 4 months, and otherwise have it just be stable and unchanging. |
For Quarto, you can disable the auto-install via I have hoped for a long time to write a tutorial about how to build, publish, and install one's own bundle of TinyTeX, but haven't found time yet. |
Amusingly, @yihui, I got access to one of the Docker images where this was happening. Make a .Rmd file, Knit to PDF, it successfully runs the |
Quarto should now do the right thing (quarto-dev/quarto-cli@526d38a).
Are you able to confirm ? |
I've regenerated our Docker image that all the students used, and pushed it live. I'll report back in a day or two. :) |
Things have been fairly stable with the workaround of "just run a R Markdown document, which forces tlmgr to work" for those students who haven't updated Quarto. However, yesterday, this stopped working. Attempting to knit a default Rmd file (create -> specify PDF -> save) results in this error in these tex-environments:
Any thoughts, @yihui? This one is entirely centered on tinytex and R Markdown, cutting Quarto out of the loop, but it's the same root issue - part of the tex distribution updates, and part doesn't, so the initial cause of the problem is the
So my understanding of this is that the |
Unfortunately, problems that are hard to reproduce are often also hard to fix. I don't know how you install TinyTeX in your Docker image, but if you install the daily build (via I think you could do the similar thing (although I still don't understand why it would be necessary): before publishing the Docker image, test it with PDF compilation, so you can be sure that you are publishing a working image. If |
So the version that I push on Docker has those steps. I do compile a Quarto and Rmd doc to be sure as part of the Dockerfile, which runs tlmgr and ensures the TeX libraries are sync'd. It seems to be that if students have the image open for a few hours, and render a few times, at some point it decides to update ... something? Of course the image is compiled at a set point (e.g., the last compilation was October 2nd), and then I normally just leave it alone. But the running of I will test the |
cleared up the issue for 6 different students over the last 6 hours. I wish I could tell you why things are desyncing like this. Basically, we've got about ~ 20,000 renders per week going on (800 students, each doing 15-30 renders to complete an assignment), and we're getting 1-2% of them that are running into this. So something is a bit unstable somewhere, and then it isn't able to fix itself without a purge and reinstall. |
Looks like this was caused by a recent update of the l3backend package. Those students were not alone: https://stackoverflow.com/q/77291118/559676 I wonder if |
According to a TeX expert, |
Got access to a broken machine today, running Mac OS 14, and can confirm that I guess the next question: is it possible to detect the mismatch error and automatically flag it for an R-level error message that suggests this? I'm thinking of your |
I have thought about your next question before you asked :) I just needed to confirm |
I spent quite some time on trying to reproduce the error "LaTeX Error: Mismatched LaTeX support files detected" in the original report, but failed with tinytex, which is because I have already fixed this problem in 5946a2a in 2021. I think this issue was caused by Quarto, as explained at quarto-dev/quarto-cli#7252 (comment). I'll commit a fix in tinytex soon to help TinyTeX recover from this "impossible" broken state automatically, but it won't help Quarto automatically because Quarto has its own implementation of |
By filing an issue to this repo, I promise that
xfun::session_info('tinytex')
. I have upgraded all my packages to their latest versions (e.g., R, RStudio, and R packages), and also tried the development version:remotes::install_github('rstudio/tinytex')
.I understand that my issue may be closed if I don't fulfill my promises.
About 24 hours ago a previously working, unmodified Docker image that I use on a JupyterHub for hundreds of students started throwing xelatex update errors. It says the following:
It then dies. For some cases, if the users wait for a few minutes, and then try again, it 'just works'. For others, it seems more persistent. Again, this is a Docker image that has been working fine for 5 weeks, with no issues. Similarly, I've had reports from ~ 10 students running Macbooks with TinyTex that this is happening to them as well.
This seems to be because when the Render happens,
tlmgr
and the packages are updated. But something recent has caused a mismatch in the supported/updated packages, especially with respect to expl3? Which may imply that this is just an issue with the library that the update is pulling from - but this is where my knowledge of the steps taken during Render breaks down.Any thoughts? I'm not sure this is TinyTex in any significant way, aside from the fact that it is the TinyTex interface to
tlmgr
that is running the update, and taking a previously working installed distribution and somehow updating only part of it, so this mismatch happens.The text was updated successfully, but these errors were encountered: