[MetaTeX] How to Bootstrap MetaTeX
taco at elvenkind.com
Sat Jul 31 09:54:38 CEST 2004
On Fri, 30 Jul 2004 23:18:04 -0700
Salman Khilji <skhilji at tampabay.rr.com> wrote:
> I compiled the cxtex portion of the distro successfully using gcc 2.95. I was
> wondering if there are any instructions on how to boostrap the cpdfetex
> executable. i.e. how to create format files, setup cfg files etc, install the
> files in the correct location, setup a texmf tree etc.
It uses kpathsea like any other 'tex program', but the library probably has
problems locating texmf.cnf because it doesn't reside in your normal texmf tree.
I never noticed this because I use explicit environment variables for the TEXMFCNF
and TEXMF settings. Easiest solution: make the environment variable "TEXMFCNF"
point to the correct texmf.cnf (/usr/local/teTeX/share/texmf/web2c/texmf.cnf ?)
Moving the executable into the texmf tree would also work, but I don't recommend
that because it is foreign to web2c.
> I was not able to compile texexec and texutil (version 0.51). The problem is
> that standard C does not allow variable declarations to be placed anywhere in
> a function (they must be all the way at the top of the function (or block).
> I started moving all the declarations to the top of the functions, but I am
> not done with them yet.
Oops, I thought I'd done that already. My gcc is 3.4.1, but I ran into the
same problem when I tried to compile on our server (also older 2.95) so I had
been through the source once already. You diagnosed the problem perfectly.
IIRC, there are two major bugs in cpdfetex at the moment:
- floats don't float (or not always, unsure)
- not enough of the program's internal state is dumped to the format
And there are a lot of minor bugs of course. All in all it is a reasonably
For my goal it has a much more fatal flaw, though: it is a standalone pascal
program, implemented in C.
Because of the miriad of global variables, lots of user interfacing, and
lack of api, it is not usable as a library 'as-is'. Sorting that out is not
easy, and that is the main reason why I am currently working on libMPost. In
many ways, MP is a much simpler program. This wayt I can build up experience
for modifying TeX internals, later.
I've done a commit on the libMPost sources just now, so you can look at how
I want the code to turn out. It compiles, but don't try to run it because it
is severely broken ATM. I'm inserting a new (dynamically extensible) hash
algorithm and it required zillions of minor changes all over the code.
In case anybody is wondering why I've been quiet: the weather in Holland
has finally become summer-like, so I'm enjoying as much sunshine as I can,
while I can.
More information about the Metatex