Hi Hans, Hraban,

On Sun, 2026-03-15 at 13:10 +0100, Hans Hagen wrote:
> On 3/15/2026 12:55 PM, Max Chernoff wrote:
> > On Sun, 2026-03-15 at 12:40 +0100, Hans Hagen via ntg-context wrote:
> > > (btw, last week at hrabans context workshop we found out that installing
> > > context from texlive is broken and unuseable;
> >
> > Hmm, sorry, that's unfortunate. The ConTeXt in TL works for me and I
> > haven't heard any recent complaints, so I'm not entirely sure what's
> > wrong. If you or Hraban (or anybody else) is able to reproduce the
> > issue, please either report it on GitHub
> >
> >      https://github.com/gucci-on-fleek/context-packaging
> >
> > or email me and I'll try and fix it.
>
> When I was show the 'error' it looked like a mismatch between binary and
> macros;

I've just checked and all the binaries _appear_ to be up-to-date, but I
can only test Linux x86_64 and Windows, so there's a chance that one
platform has older binaries.

On Sun, 2026-03-15 at 13:35 +0100, Henning Hraban Ramm wrote:
> Am 15.03.26 um 12:55 schrieb Max Chernoff via ntg-context:
> > Hi Hans,
> >
> > On Sun, 2026-03-15 at 12:40 +0100, Hans Hagen via ntg-context wrote:
> > > (btw, last week at hrabans context workshop we found out that installing
> > > context from texlive is broken and unuseable;
> >
> > Hmm, sorry, that's unfortunate. The ConTeXt in TL works for me and I
> > haven't heard any recent complaints, so I'm not entirely sure what's
> > wrong. If you or Hraban (or anybody else) is able to reproduce the
> > issue, please either report it on GitHub
> >
> >      https://github.com/gucci-on-fleek/context-packaging
> >
> > or email me and I'll try and fix it.
>
> Hi Max, I wanted to report but found no time so far.

Oh, no worries; that's totally fair.

> On one participant’s Mac (clean TL26 installation, no previous TeX) we
> could generate the file database and make the format, but afterwards,
> “context” didn’t find the existing format. It worked if we called
> context with the full path.

Ok, I'm pretty sure that I know exactly what's causing this. TeX Live
usually runs "mtxrun (--luatex) --generate" at installation time, but
I've been told that MacTeX specifically disables this step.

The reason is that on every single other platform, TeX Live locally
builds the format files for every format/engine combination when it is
installed, but MacTeX builds all the format files on the server and then
just uses those files locally. I believe that this is due to some
Apple-imposed limit on how long it can take to install a piece of
software, which TL would exceed without pregenerating the format files
remotely.

On February 19th, I was asked if MacTeX should include the files created
by "mtxrun --generate". My answer was

    "mtxrun --generate" is the same as "mktexlsr", and "context --make"
    is the same as "fmtutil". But the results of "mtxrun --generate"
    depend on which files/packages you have installed, and "context
    --make" depends on "mtxrun --generate", so it wouldn't make much
    sense to include those compiled files.

I was under the (mistaken) impression that this meant that MacTeX would
still run "mtxrun --generate" at install time, but the email never
actually said that anywhere. And the behaviour that you mentioned
_almost certainly_ means that "mtxrun --generate" has never been ran as
root.

Anyways, the short answer is that this is probably my fault :). I'll
email the MacTeX people to see if there's any way that we can fix it.

> With at least two other participants (Linux and Windows, AFAIR) it
> worked, but it’s possible that files from TL25 were used.

The packaging process tests on Linux before any releases, and I use the
ConTeXt in TL on Linux at least once a week (and usually multiple times
daily), so it should be pretty rare that things break there. I'm not
able to test the other platforms, so I rely on people reporting issues.

Anyways, I've tested again just now, and ConTeXt works fine for me on
Linux x86_64, both on a fresh installation (via the Island of TeX
container images) and on my main installation upgraded from TL22.

> A common problem of previous TLs (didn’t check 26) was that
> lua(meta)tex’s cache was built with administrator rights on
> installation. Running as a normal user, this was not writable, so
> lua(meta)tex created a new one, that resulted in conflicts about files
> not found or found in wrong places.
> Please avoid creating anything for ConTeXt with admin rights.

That's actually the exact opposite of what's happening here :). The
issue is that ConTeXt doesn't know how to find itself until you've ran
"mtxrun --generate" at least once. Using the Standalone Distribution:

    $ export PATH=/opt/context/tex/texmf-linux-64/bin/:/usr/bin/
    $ sudo rm -rf /opt/context/tex/texmf-cache/luametatex-cache/
    $ rm -rf ~/luametatex-cache/context/

    $ context --nofile
    mtxrun          | unknown script 'mtx-context.lua' or 'mtx-mtx-context.lua'

    $ sudo /opt/context/tex/texmf-linux-64/bin/mtxrun --generate
    resolvers       | resolving | variable 'SELFAUTOLOC' set to 
'/opt/context/tex/texmf-linux-64/bin'
    [...]
    resolvers       | resolving | saving tree 'selfautoparent:texmf-context'
    resolvers       | caches | hashing tree 'selfautoparent:texmf-context', 
hash 'fb39a92c95ceca857c3f2d0ee48a2ad3'
    [...]
    mtxrun          | elapsed lua time: 0.080 seconds

    $ context --nofile
    mtx-context     | warning: no format found, forcing remake (commandline 
driven)
    [...]
    resolvers       | resolving | saving tree 'selfautoparent:texmf-context'
    resolvers       | caches | hashing tree 'selfautoparent:texmf-context', 
hash 'fb39a92c95ceca857c3f2d0ee48a2ad3'
    [...]
    resolvers       | formats | executing runner 'make luametatex format': 
/opt/context/tex/texmf-linux-64/bin/luametatex --ini  --socket --shell-escape 
--lua=/opt/context/tex/texmf-context/tex/context/base/mkxl/luat-cod.lmt 
/opt/context/tex/texmf-context/tex/context/base/mkxl/cont-en.mkxl
    [...]
    resolvers       | formats | context file     : 
/opt/context/tex/texmf-context/tex/context/base/mkxl/cont-en.mkxl
    resolvers       | formats | run time         : 1.204 seconds
    resolvers       | formats | return value     : okay
    [...]
    system          > ConTeXt  ver: 2026.02.10 16:39 LMTX  fmt: 2026.3.17  int: 
english/english
    [...]
    mkxl run stats  > runtime: 0.192 seconds
    system          | total runtime: 1.472 seconds of 1.503 seconds

Now, this doesn't necessarily need to be ran as an administrator, but
having ConTeXt not work at all until every user manually runs "mtxrun
--generate" beforehand isn't very user friendly. So currently, TL runs
"mtxrun --generate" and "mtxrun --luatex --generate" on every update as
an administrator, but it does _not_ run "context --make". When running
as an ordinary user, ConTeXt will still ignore the system-level filename
database and generate its own, but this ensures that users will never
get the dreaded "unknown script 'mtx-context.lua'" error message.

Previous versions of TL also ran "context --make" as an administrator
whenever TL updated; this was completely harmless since ConTeXt would
ignore these files, but it added unnecessary time to the updates, so
this was removed for TL26.

FWIW, the Standalone Distribution also rebuilds the filename database
and formats as an administrator whenever you update it:

    $ export PATH=/opt/context/tex/texmf-linux-64/bin/:/usr/bin/
    $ sudo sh /opt/context/install.sh
    [...]
    mtx-install     | server   : lmtx.pragma-ade.com
    mtx-install     | instance : install-lmtx
    mtx-install     | platform : linux-64
    mtx-install     | system   : unix
    mtx-install     | updating tex/texmf, 658 files
    mtx-install     | updating tex/texmf-context, 5470 files
    [...]
    mtx-install     | running: /opt/context/tex/texmf-linux-64/bin/mtxrun 
--generate
    [...]
    resolvers       | formats | executing runner 'make luametatex format': 
/opt/context/tex/texmf-linux-64/bin/luametatex --ini  --socket --shell-escape 
--lua=/opt/context/tex/texmf-context/tex/context/base/mkxl/luat-cod.lmt 
/opt/context/tex/texmf-context/tex/context/base/mkxl/cont-en.mkxl
    [...]
    mtx-install     | update, done
    The following settings were used:

      server   : lmtx.contextgarden.net,lmtx.pragma-ade.com,lmtx.pragma-ade.nl
      instance : install-lmtx
      extras   :
      ownpath  : /opt/context
      platform : linux-64

On Mon, 2026-03-16 at 10:35 +0100, Henning Hraban Ramm wrote:
> I just got the report of a new (not-yet-)user on Arch Linux that it
> wouldn’t work.

Was this the version of TL installed from tug.org (or one of the various
CTAN mirrors), or the version of TL packaged in the Arch repos? Because
I've heard reports that the TL packaged in Arch has quite a few issues.
I can _try_ and help with the version in the Arch repos, but since I
don't use Arch myself, I can't really test anything.

> We should collect the details under which circumstances it fails:
> - OS / processor architecture
> - installed as user/admin
> - previous installation present

Yes, that would be much appreciated, thank you! Feel free to report this
wherever is the most convenient to you; either on GitHub, via a private
email to me, to this list, etc.

Thanks,
-- Max
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : [email protected] / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

Reply via email to