[MetaTeX] How to Bootstrap MetaTeX

Taco Hoekwater taco at elvenkind.com
Sat Jul 31 09:54:38 CEST 2004

Hi Salman,

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
usable program. 

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 mailing list