Hi Thomas, Thomas A. Schmitz wrote:
Dear all (and especially the linux heads...),
I have been playing with my linux partition lately and looking at the linux installation section in the wiki. I see there are two approaches: - take the minimal linux distribution that Hans prepares, - start from TexLive
Minor correction: - start from teTeX (not the same as texlive)
I see why these approaches have their advantages. Nevertheless, I would want to add a further point: shouldn't we provide some hints for those who have a working TeX installation on linux and want to keep it because they are not (yet) exclusive ConTeXt users and want to be able to upgrade with their distribution's system?
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.
I have played around with several distros and think some general points could go into the wiki:
1. look at texmf.cnf; find out where TEXMFLOCAL is on your system. In most distros, the directory doesn't exist yet, create it.
2. In the definitions of texmf.cnf, make sure that TEXMFLOCAL comes before the other TEXMF trees.
3. unzip cont-tmf.zip into this directory, run mktexlsr or texhash
4. run texexec --make --al
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.
This last step gave and still gives me some headaches (my last attempt was with Opensuse 10.1 alpha 4), and that's where I ask for some elucidation: texexec does not rely on kpsewhich to locate the directory where it dumps the formats. So what I've seen happening is that I have brandnew formats in one place, yet texexec --version will still display the old versions (or say somehting like "cont-en.fmt unknown"). I have often just found out where kpsewhich searches for the formats and then replaced these old formats with symlinks to the new ones, but I'm not quite sure if this is a good approach. Does anyone have more insights
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.
on this? What's with this proliferation of TEXMF-trees in recent versions of teTeX: which ones do we actually need? Which ones can be deleted safely?
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 if you use Thomas' distribution. Cheers and good luck! Taco