tlmgr deleted texlive-scripts
Max Chernoff
tex at maxchernoff.ca
Sun Oct 26 07:40:46 CET 2025
Hi all,
A user was getting confusing error messages when trying to run fmtutil:
https://tex.stackexchange.com/q/752875/270600
and it turns out that fmtutil.pl had gone missing:
https://chat.stackexchange.com/transcript/message/68435033#68435033
Running
$ tlmgr install --reinstall texlive-scripts
solved the problem, and the output showed that "texlive-scripts" had
been uninstalled completely (but "texlive-scripts.windows" was still
installed). I asked the user for a copy of "tlmgr.log"
https://pastebin.com/a2J9P3Vj
and line 1207 shows that "texlive-scripts" failed to update at some
point, so I guess tlmgr decided to uninstall it entirely.
This is not very good, so tlmgr probably shouldn't uninstall
"texlive-scripts" if an update fails. (Or does it already do that, but
maybe installing the old version _also_ failed, so there was nothing
that tlmgr could do?)
Also, I discovered that "mktexlsr" takes different arguments on Unix
than on Windows:
$ mktexlsr.exe --help
Usage: Z:\usr\local\texlive\2025\bin\windows\mktexlsr.exe [--quiet|--silent] [DIRS ...]
Rebuild all necessary ls-R filename databases completely. If one or
more arguments DIRS are given, these are used as texmf directories to
build ls-R for. Else all directories in the search path for ls-R files
($TEXMFDBS) are used.
$ mktexlsr --help
Usage: mktexlsr [OPTION]... [DIR]...
Rebuild ls-R filename databases used by TeX. If one or more arguments
DIRS are given, these are used as the directories in which to build
ls-R. Else all directories in the search path for ls-R files
($TEXMFDBS) are used.
Options:
--dry-run do not actually update anything
--help display this help and exit
--quiet cancel --verbose
--silent same as --quiet
--verbose explain what is being done
--version output version information and exit
If standard input is a terminal, --verbose is on by default.
For more information, see the `Filename database' section of
Kpathsea manual available at http://tug.org/kpathsea.
Report bugs to: tex-k at tug.org
TeX Live home page: <http://tug.org/texlive/>
Specifically, "--verbose" works as expected on Unix, but just returns
the version on Windows:
$ mktexlsr --verbose
mktexlsr: /usr/local/texlive/2025/texmf-dist: directory not writable. Skipping...
mktexlsr: /usr/local/texlive/2025/texmf-var: directory not writable. Skipping...
mktexlsr: /usr/local/texlive/texmf-local: directory not writable. Skipping...
mktexlsr: Done.
$ mktexlsr.exe --verbose
kpathsea version 6.4.1
mktexlsr: (C version 1.1 --ak 2002-2015)
I know that mktexlsr is implemented completely differently on Windows,
but it would probably make sense for it to take the similar arguments as
the Unix version.
Thanks,
-- Max
More information about the tex-live
mailing list.