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.