Something has changed on my system and I can't find it. Perhaps someone can point me where I should look. I've had the texlive2012 installed since it came out and until a couple of days ago everything worked just fine. All of a sudden, things changed. I did nothing directly to the texlive distribution. wwm@escherton$ context --version gives the error output at the end of this note wwm@escherton$ sudo context --version works just fine wwm@escherton$ mtxrun --version works just fine as does mtxrun --script fonts --reload &c. I created a new user. context@escherton$ context --version works just fine I deleted the texlive distribution and re-installed it. No change. I've run sudo context --generate several times with no change in behavior. I've deleted the local .texlive2012 directory but since context won't run, it doesn't get recreated. I can set TEXMF and then context will run but it takes a much longer time than usual and the disk activity light is on almost solid. Any ideas? Linux Escherton 3.2.0-33-generic #52-Ubuntu SMP Thu Oct 18 16:19:45 UTC 2012 i686 i686 i386 GNU/Linux (XUbuntu 12.04) Error output below: wwm@Escherton$ context --version mtxrun | forcing cache reload resolvers | resolving | unknown configuration file '/home/wwm/texmf/web2c/texmfcnf.lua' resolvers | resolving | unknown configuration file '/home/wwm/bin/texmfcnf.lua' resolvers | resolving | unknown configuration file '/home/wwm/texmfcnf.lua' resolvers | resolving | unknown configuration file '/home/texmfcnf.lua' resolvers | resolving | unknown configuration file '/home/wwm/bin/texmf-local/web2c/texmfcnf.lua' resolvers | resolving | unknown configuration file '/home/wwm/texmf-local/web2c/texmfcnf.lua' resolvers | resolving | unknown configuration file '/home/texmf-local/web2c/texmfcnf.lua' resolvers | resolving | unknown configuration file '/home/wwm/bin/texmf/web2c/texmfcnf.lua' resolvers | resolving | unknown configuration file '/home/wwm/texmf/web2c/texmfcnf.lua' resolvers | resolving | unknown configuration file '/home/texmf/web2c/texmfcnf.lua' resolvers | resolving | resolvers | resolving | warning: no lua configuration files found resolvers | resolving | no texmf paths are defined (using TEXMF) resolvers | resolving | mtxrun | the resolver databases are not present or outdated resolvers | resolving | using suffix based filetype 'lua' resolvers | resolving | remembering file 'mtx-context.lua' resolvers | resolving | using suffix based filetype 'lua' resolvers | resolving | remembering file 'mtx-contexts.lua' resolvers | resolving | remembered file 'mtx-context.lua' resolvers | resolving | using suffix based filetype 'lua' resolvers | resolving | remembering file 'mtx-t-context.lua' resolvers | resolving | using suffix based filetype 'lua' resolvers | resolving | remembering file 'mtx-t-contexts.lua' resolvers | resolving | remembered file 'mtx-t-context.lua' resolvers | resolving | using suffix based filetype 'lua' resolvers | resolving | remembering file 'context.lua' mtxrun | unknown script 'context.lua' or 'mtx-context.lua' -- Bill Meahan Westland, Michigan USA
On Sun, 18 Nov 2012, Bill Meahan wrote:
Something has changed on my system and I can't find it. Perhaps someone can point me where I should look.
I've had the texlive2012 installed since it came out and until a couple of days ago everything worked just fine. All of a sudden, things changed. I did nothing directly to the texlive distribution.
wwm@escherton$ context --version gives the error output at the end of this note
wwm@escherton$ sudo context --version works just fine
wwm@escherton$ mtxrun --version works just fine as does mtxrun --script fonts --reload &c.
I created a new user.
context@escherton$ context --version works just fine
I deleted the texlive distribution and re-installed it. No change. I've run sudo context --generate several times with no change in behavior. I've deleted the local .texlive2012 directory but since context won't run, it doesn't get recreated. I can set TEXMF and then context will run but it takes a much longer time than usual and the disk activity light is on almost solid.
Any ideas?
1. Run mtxrun --generate as normal user followed by context --make; otherwise: 2. Something is messed up in $HOME/texmf or $HOME/.texlive2012. Rename these directories to something different and try again. Aditya
On 11/18/2012 07:53 PM, Aditya Mahajan wrote:
1. Run mtxrun --generate as normal user followed by context --make; otherwise:
Won't run as "me" - same error messages. Ran as another normal user but it didn't do anything for "me". Same running via sudo
2. Something is messed up in $HOME/texmf or $HOME/.texlive2012. Rename these directories to something different and try again.
Aditya
Done that several times -- no dice :-( -- Bill
On Sun, 18 Nov 2012, Bill Meahan wrote:
On 11/18/2012 07:53 PM, Aditya Mahajan wrote:
1. Run mtxrun --generate as normal user followed by context --make; otherwise:
Won't run as "me" - same error messages. Ran as another normal user but it didn't do anything for "me". Same running via sudo
In general, it is a bad idea to run context tools using sudo. [1]
2. Something is messed up in $HOME/texmf or $HOME/.texlive2012. Rename these directories to something different and try again.
Done that several times -- no dice
Hmm... Are there any other tex related directories like $HOME/texmf-var or $HOME/texmf-cache? If so try moving those as well. Otherwise, it could be because of some shell variable that you set (that is not set for a new user). Try starting with a clean .<shell>rc. Aditya [1] Traditional TeX tools provide a -sys version,(e.g., fmtutil and fmtutil-sys, updmap and updman-sys, etc.) that is to be run by the system administrator. Context tools do not provide any such version, so `sudo mtxrun ...` is equivalent to creating files for the root user. As such, for a multi-user installation, you should avoid running sudo mtxrun etc.
On Sun, 18 Nov 2012, Bill Meahan wrote:
2. Something is messed up in $HOME/texmf or $HOME/.texlive2012. Rename these directories to something different and try again.
Done that several times -- no dice
I normally do not use TL, but looked into it, and the texmfcnf.lua script distributed with texlive does not look right. I am attaching the output of mtxrun --generate that I get. Note the following liines: resolvers | resolving | variable 'SELFAUTOLOC' set to '/usr/bin' resolvers | resolving | variable 'SELFAUTODIR' set to '/usr' resolvers | resolving | variable 'SELFAUTOPARENT' set to '.' resolvers | resolving | variable 'TEXMFCNF' set to '' resolvers | resolving | variable 'TEXMF' set to '' resolvers | resolving | variable 'TEXOS' set to '/usr' .... resolvers | resolving | found configuration file '/usr/share/texmf/web2c/texmfcnf.lua' .... resolvers | resolving | loading configuration file 'selfautodir:/share/texmf/web2c/texmfcnf.lua' ... Now, the /usr/share/texmf/web2c/texmfcnf.lua file says: TEXMFSYSVAR = "selfautoparent:texmf-var", TEXMFVAR = "home:.texlive2012/texmf-var", .... TEXMFMAIN = "selfautoparent:texmf", TEXMFDIST = "selfautoparent:texmf-dist", .... Note from the mtxrun that selfautoparent is set to '', therefore, TEXMFMAIN is set to 'texmf' and TEXMFDIST is set to 'texmf-dist'. And therefore, `mtxrun --generate` is not scanning the right trees, therefore does not build a cache of the right trees, and consequently, cannot find mtx-context.lua. To check my theory, I followed the following steps: 1. Create a directory ~/mytexmfcnf and copied the texmfcnf.lua file from /usr/share/texmf/web2c/ to this directory. 2. Open ~/mytexmfcnf/texmfcnf.lua and change %s/selfautoparent:/\/usr\/share\/ 3. Run TEXMFCNF=~/mytexmfcnf mtxrun --generate 4. Run TEXMFCNF=~/mytexmfcnf context --version which then gives mtx-context | ConTeXt Process Management 0.52 mtx-context | mtx-context | main context file: /usr/share/texmf-dist/tex/context/base/context.mkiv mtx-context | current version: 2012.05.30 11:26 So I wonder how does context (MkIV) work at all with TL2012! Aditya
On Mon, Nov 19, 2012 at 4:34 AM, Aditya Mahajan wrote:
On Sun, 18 Nov 2012, Bill Meahan wrote:
2. Something is messed up in $HOME/texmf or $HOME/.texlive2012. Rename these directories to something different and try again.
Done that several times -- no dice
I normally do not use TL, but looked into it, and the texmfcnf.lua script distributed with texlive does not look right. I am attaching the output of mtxrun --generate that I get. Note the following liines:
resolvers | resolving | variable 'SELFAUTOLOC' set to '/usr/bin' resolvers | resolving | variable 'SELFAUTODIR' set to '/usr' resolvers | resolving | variable 'SELFAUTOPARENT' set to '.'
It looks as if you were using Debian/Ubuntu? Or any other flavour of Linux with a native TeX Live package?
resolvers | resolving | variable 'TEXMFCNF' set to '' resolvers | resolving | variable 'TEXMF' set to '' resolvers | resolving | variable 'TEXOS' set to '/usr' .... resolvers | resolving | found configuration file '/usr/share/texmf/web2c/texmfcnf.lua' .... resolvers | resolving | loading configuration file 'selfautodir:/share/texmf/web2c/texmfcnf.lua' ...
mtxrun --generate
resolvers | resolving | variable 'SELFAUTOLOC' set to '/usr/local/texlive/2012/bin/x86_64-darwin' resolvers | resolving | variable 'SELFAUTODIR' set to '/usr/local/texlive/2012/bin' resolvers | resolving | variable 'SELFAUTOPARENT' set to '/usr/local/texlive/2012' resolvers | resolving | variable 'TEXMFCNF' set to '' resolvers | resolving | variable 'TEXMF' set to '' resolvers | resolving | variable 'TEXOS' set to 'bin' resolvers | resolving | resolvers | resolving | using configuration specification 'home:texmf/web2c;{selfautoloc:,selfautoloc:/share/texmf-local/web2c,selfautoloc:/share/texmf/web2c,selfautoloc:/texmf-local/web2c,selfautoloc:/texmf/web2c,selfautodir:,selfautodir:/share/texmf-local/web2c,selfautodir:/share/texmf/web2c,selfautodir:/texmf-local/web2c,selfautodir:/texmf/web2c,selfautoparent:/../texmf-local/web2c,selfautoparent:,selfautoparent:/share/texmf-local/web2c,selfautoparent:/share/texmf/web2c,selfautoparent:/texmf-local/web2c,selfautoparent:/texmf/web2c}' resolvers | resolving | ... resolvers | resolving | found configuration file '/usr/local/texlive/2012/texmfcnf.lua' ... resolvers | resolving | found configuration file '/usr/local/texlive/2012/texmf/web2c/texmfcnf.lua' resolvers | resolving | resolvers | resolving | loading configuration file 'selfautoparent:/texmfcnf.lua' resolvers | resolving | resolvers | resolving | loading configuration file 'selfautoparent:/texmf/web2c/texmfcnf.lua'
Now, the /usr/share/texmf/web2c/texmfcnf.lua file says:
TEXMFSYSVAR = "selfautoparent:texmf-var", TEXMFVAR = "home:.texlive2012/texmf-var", .... TEXMFMAIN = "selfautoparent:texmf", TEXMFDIST = "selfautoparent:texmf-dist", ....
Note from the mtxrun that selfautoparent is set to '', therefore, TEXMFMAIN is set to 'texmf' and TEXMFDIST is set to 'texmf-dist'. And therefore, `mtxrun --generate` is not scanning the right trees, therefore does not build a cache of the right trees, and consequently, cannot find mtx-context.lua.
To check my theory, I followed the following steps:
1. Create a directory ~/mytexmfcnf and copied the texmfcnf.lua file from /usr/share/texmf/web2c/ to this directory.
2. Open ~/mytexmfcnf/texmfcnf.lua and change
%s/selfautoparent:/\/usr\/share\/
3. Run
TEXMFCNF=~/mytexmfcnf mtxrun --generate
4. Run
TEXMFCNF=~/mytexmfcnf context --version
which then gives
mtx-context | ConTeXt Process Management 0.52 mtx-context | mtx-context | main context file: /usr/share/texmf-dist/tex/context/base/context.mkiv mtx-context | current version: 2012.05.30 11:26
So I wonder how does context (MkIV) work at all with TL2012!
Maybe it just doesn't work with your linux box :P One explanation could be that texmfcnf.lua hasn't been configured properly. It works with plain TeX Live with default installation. MacPorts would do the following: post-patch { foreach x {texmf.cnf.d/10paths.cnf texmfcnf.lua texlive-update-cnf} { reinplace "s|@@PREFIX@@|${prefix}|g" ${worksrcpath}/${x} reinplace "s|@@TEXMFMAIN@@|${texlive_texmfmain}|g" ${worksrcpath}/${x} reinplace "s|@@TEXMFDIST@@|${texlive_texmfdist}|g" ${worksrcpath}/${x} reinplace "s|@@TEXMFPORTS@@|${texlive_texmfports}|g" ${worksrcpath}/${x} reinplace "s|@@TEXMFLOCAL@@|${texlive_texmflocal}|g" ${worksrcpath}/${x} reinplace "s|@@TEXMFSYSVAR@@|${texlive_texmfsysvar}|g" ${worksrcpath}/${x} reinplace "s|@@TEXMFSYSCONFIG@@|${texlive_texmfsysconfig}|g" ${worksrcpath}/${x} reinplace "s|@@TEXMFHOME@@|${texlive_texmfhome}|g" ${worksrcpath}/${x} reinplace "s|@@TEXLIVE_BINDIR@@|${texlive_bindir}|g" ${worksrcpath}/${x} } } To Bill: can you try which luatex context sudo which luatex context and in particular because you have TeX Live installed in home dir, I would suggest not to run any command as sudo at all. In particular, don't try to run "mtxrun --generate" or "context --make" as sudo. It might be that the cache is not writable by you any more. But then again - something seems to be wrong with your configuration. How exactly did you install TeX Live. Where do you have any texmfcnf.lua? Please also post the output of a working ConTeXt run and/or "mtxrun --generate", in particular the part that Aditya posted (definition of SELFAUTOLOC etc.). Mojca
On Mon, 19 Nov 2012, Mojca Miklavec wrote:
On Mon, Nov 19, 2012 at 4:34 AM, Aditya Mahajan wrote:
On Sun, 18 Nov 2012, Bill Meahan wrote:
2. Something is messed up in $HOME/texmf or $HOME/.texlive2012. Rename these directories to something different and try again.
Done that several times -- no dice
I normally do not use TL, but looked into it, and the texmfcnf.lua script distributed with texlive does not look right. I am attaching the output of mtxrun --generate that I get. Note the following liines:
resolvers | resolving | variable 'SELFAUTOLOC' set to '/usr/bin' resolvers | resolving | variable 'SELFAUTODIR' set to '/usr' resolvers | resolving | variable 'SELFAUTOPARENT' set to '.'
It looks as if you were using Debian/Ubuntu? Or any other flavour of Linux with a native TeX Live package?
Yes and sorry, I should have mentioned that. I am using Texlive from archlinux. I was under the impression that archlinux simply includes the upstream pacakges without any changes, but it appears that TL expects that it will be installed in /usr/local/.... so installing the binaries i n /usr/bin confuses texmfcnf.lua
So I wonder how does context (MkIV) work at all with TL2012!
Maybe it just doesn't work with your linux box :P One explanation could be that texmfcnf.lua hasn't been configured properly. It works with plain TeX Live with default installation.
I'll check if Archlinux uses the same texmfcnf.lua as TL or not. If not, I'll report a bug upstream to archlinux. Is the expectation that texmfcnf.lua will work out of the box for a standard linux installation (just like texmf.cnf), or should each distribution tweak texmfcnf.lua? Aditya
On Mon, Nov 19, 2012 at 6:09 PM, Aditya Mahajan wrote:
I'll check if Archlinux uses the same texmfcnf.lua as TL or not. If not, I'll report a bug upstream to archlinux.
Is the expectation that texmfcnf.lua will work out of the box for a standard linux installation (just like texmf.cnf), or should each distribution tweak texmfcnf.lua?
Usually it is advisable to tweak at least a couple of variables (TEXMFCNF in the TeX sources might be one of them, but the change is not always needed), but it all depends on the distribution and how they organize the files. Even the standard TeX Live installation (including MacTeX) often does some modifications. The main problem is that developers usually make sure that LaTeX works and (understandably) forget about ConTeXt. Mojca
On 11/18/2012 07:53 PM, Aditya Mahajan wrote:
1. Run mtxrun --generate as normal user followed by context --make; otherwise:
2. Something is messed up in $HOME/texmf or $HOME/.texlive2012. Rename these directories to something different and try again.
GOT IT WORKING!. I had TexLive installed in /usr/local and apparently installation of something else changed a permission somewhere. Since this is my laptop and nobody but me uses it, I removed TexLive from /usr/local and reinstalled in $HOME/local with the symlinks going to $HOME/bin which is in my $PATH. Everything works just fine now. Thanks to everyone for the advice and counsel. I really appreciate it. -- Bill Meahan Westland, Michigan USA
participants (4)
-
Aditya Mahajan
-
Aditya Mahajan
-
Bill Meahan
-
Mojca Miklavec