Taco, Hans, thanks for your reactions. And I see that Taco speaks from (bad) experience. I have always fiddled around and tried to make ConTeXt work in the linux distros i have tried so far (since I'm on ppc, there were four of them: gentoo, fedora, ubuntu, suse), but have never made any systematic approach. I'm really grateful for Taco's explanations; this helps me a lot. On Dec 13, 2005, at 11:55 AM, Taco Hoekwater wrote:
I believe this is quite hard, because every distribution has a slightly different teTeX setup. My view was: if you want an up-to-date ConTeXt, start out fresh. Otherwise, you can save yourself an enormous hassle by learning to live with an outdated system.
:-)
If you want to spend time on this, then kudos to you, but I have given up on the distribution-supplied TeX's altogether.
Now you often still have a broken ConTeXt distribution, even if you can get 4. to work, because you also need the latest latin-modern font distribution.
And for that, you have to make another set of changes to texmf.cnf because the older latin-moderns used different paths and filenames for just about everything, and you have to make sure the new ones are found. And don't forget that you probably have to fix updmap's config file as well to make sure dvips remains working.
You'll also still have a rather outdated pdftex and metapost, but I guess that is not really a big deal for most people.
OK, what about that: my aim would be to have one up-to-date ConTeXt installation in TEXMFLOCAL and leave everything else pretty much untouched. One could easily add a step to unzip cont-lmt.zip into TEXMFLOCAL as well. I've done it and it doesn't appear to break things with other TeX programs (disclaimer: I use pdf*tex exclusively, so I don't know about dvips).
That solution is fine. Here's what happened. In the "really old" days, formats ended with .fmt, like plain.fmt.
When etex and omega came around, they identified themselves by having e.g. plain.efmt (note the extra "e"), so that they could coexist happily.
However, this cluttered the build system quite a bit, so recently it was decided to drop the extra characters. At that time, it was understood that there would be an extra subdirectory below texmf/web2c to differentiate between the different engines (at least, that is what Hans and I gathered from the discussion). So you would have, e.g. "web2c/pdfetex/cont-en.fmt" as well as "web2c/omega/cont-en.fmt".
But it turned out that since LaTeX has separate names for the different formats anyway (Lambda etc.), ConTeXt was the only client of this new feature, and Thomas Esser decided that it was not worth the effort to support these extra directories.
However, for ConText it would be very, very unwieldy to have cont- pdfetex-en.fmt, cont-xetex-en.fmt, cont-aleph-en.fmt etc., each six or seven times. And because context is always called through texexec, the latest texexec's implement this engine subdirectory functionality for you.
Finally, what goes wrong: unless you either delete the teTeX-supplied context formats or change texmf.cnf, the old formats will be found first by kpathsea.
OK, then one step would be: find the old .fmt files and delete them.
The strangest ones are the ~/.texmf-var ones, where fmtutil and updmap dump their stuff. They are documented in
/usr/local/teTeX/share/texmf/web2c/texmf.cnf
OK, will RTFM. One final thought: I remember reading an article (by Siep? in MAPS?) that having more than one texmf.cnf wasn't too difficult. Would that be an option I should try? Having one which just lets all the defaults provided by the distribution and one (set via an environment variable) which will put TEXMLOCAL before anything else? Thanks, and best Thomas