[tex-live] trouble starting context on latest tl2008 developer snapshot

Taco Hoekwater taco at elvenkind.com
Mon Jul 7 18:14:30 CEST 2008



Norbert Preining wrote:
> Hi Taco!
> 
> First of all, thanks a lot for testing all this. It is a huge help.
> 
> On Mo, 07 Jul 2008, Taco Hoekwater wrote:
>> I ran the networked installer in a virtual box running suse 11, and
>> initially, my virtual box screen size was 800x600. That does not
>> combine with the -gui option of install-tl: the Tk window simply
>> doesn't display the bottom part of the installation screen.
> 
> I know. But I have NO idea how to work around that in a portable
> Unix/Win32 way. But then, as you said, 800x600 ... welll .....

(see other message)

>> no problems at all. It looks like the 'context' scheme installs a fair
>> number of packages that are not actually needed by context users, but
> 
> That is probably due to the fact that 
> 	scheme-context
> pulls in
> ....	
> 
> If you want to reduce this please we can work on that. But we need

No really, I don't actually care ;-)

>> After installation was complete, I had to fiddle a bit to get the
>> binaries included in the path, I am not sure whether that is supposed
>> to be handled by the installer or not?
> 
> Windows or Unix?

Unix (Suse 11.0).

> On Windows it shoul dwork out of the box. Ok, you have to restart a new
> cmd instance.
> 
> On Unix there is the option to add symlinks into standard directories.

No problem at all, I was just checking. This is the first 'normal'
texlive install I've done in years ...

> Ok, so that boils down to:
> - for unix: link luatools.lua and mtxrun.lua to $bindir (without .lua)
>   (that is not installation time thing, but should be done in the 
>   svn repository)
> - for win32 we use a .bat wrapper for starting texlua files, that should
>   work for mtxrun and luatools, too.
> 
> Anything else? I didn't understand you completely. Do we have to have
> all three (context, mtxrun, luatools) in the $bindir-s, or only a subset
> of those?

The $bindir-s needs these three commands.
Their contents can be very simple (in shell format):

luatools:
   #!/bin/sh
   texmfstart luatools.lua "$@"

mtxrun:
   #!/bin/sh
   texmfstart mtxrun.lua "$@"

context:
   #!/bin/sh
   mtxrun --script context "$@"

That is not exactly how the standalone context distribution does it,
but this will work just fine, and it is simple as well as safe. Better
than copying the actual ./lua files to the $bindir-s, I think.


>> There is a bit of post-install work that is needed for context+luatex 
>> that is not done by the installer, I ran those two commands by hand:
> 
> That can be added. We have a general post installation action system set
> up. So if we need that, we can do that.

>> First
>>   luatools --generate
>> (this sets up the texmf cache)
> 
> Where does it put the cache?

Well, it puts the cache in $TEXMFCACHE, and that defaults to that
stream of $TMP;$TMPDIR;... items as mentioned in the thread labelled
"testing - problems downloading". This is an unsolved issue so far,
but here is how it *could* be made to work out of the box.

Step 1. After install, the installer would have to create a texmfcnf.lua
file alongside the installed texmf.cnf.

texmfcnf.lua:
   local conf = {}
   conf.TEXMFCACHE = <the-var-tex-folder-install-decided-on>
   return conf

The <the-var-tex-folder-install-decided-on> has to be an actual
path, it cannot be "$VARTEXMF" because the cache is used to find
texmf.cnf (not the other way around). Assuming

   local conf = {}
   conf.TEXMFCACHE = "/usr/local/texlive/2008/texmf-var"
   return conf

this will create the cache below

   /usr/local/texlive/2008/texmf-var/luatex-cache/context

Once that file is in place, the installer should run the two
commands I mentioned:

Step 2.  luatools --generate

Step 3.  context --make --compile cont-en

That's it. This depends on the installer being able to come up with
a useable <the-var-tex-folder-install-decided-on>. Without that, the
cache will have to be regenerated for every user, and if that is the
case, then steps 2 and 3 do not make sense.


In case you are wondering, the cache will contain:

  * lua files resulting from preprocessed texmf.cnf files,
    and filename databases
  * context format and mem files
  * a cache of preprocessed otf/ttf fonts
  * (possibly) a cache of fetched http files (only by user request)

Best wishes,
Taco


More information about the tex-live mailing list