(A copy of this chapter is in the distribution file `web2c/INSTALL'.)
Installing Web2c is mostly the same as installing any other Kpathsea-using program. Therefore, for the basic steps involved, see section `Installation' in Kpathsea. (A copy is in the file `kpathsea/INSTALL'.)
One peculiarity to Web2c is that the source distribution comes in two files: `web.tar.gz' and `web2c.tar.gz'. You must retrieve and unpack them both. (We have two because the former archive contains the very large and seldom-changing original WEB source files.) See section `unixtex.ftp' in Kpathsea.
Another peculiarity is the MetaPost program. Although it has been
installed previously as mp
, as of Web2c 7.0 the installed name is
now mpost
, to avoid conflict with the mp
program that does
prettyprinting. This approach was recommended by the MetaPost author,
John Hobby. If you as the TeX administrator wish to make it
available under its shorter name as well, you will have to set up a link
or some such yourself. And of course individual users can do the same.
For solutions to common installation problems and information on how to report a bug, see the file `kpathsea/BUGS' (see section `Bugs' in Kpathsea). See also the Web2c home page, http://www.tug.org/web2c.
Points worth repeating:
configure
time,
as described in the first section below.
configure
options
This section gives pointers to descriptions of the `--with' and
`--enable' configure
arguments that Web2c accepts. Some are
specific to Web2c, others are generic to all Kpathsea-using programs.
For a list of all the options configure
accepts, run
`configure --help'. The generic options are listed first, and the
package-specific options come last.
For a description of the generic options (which mainly allow you to
specify installation directories) and basic configure
usage,
see section `Running configure
scripts' in Autoconf, a copy is in the file `kpathsea/CONFIGURE'.
mktextex
.
configure
does its best to guess). See section `Optional Features' in Autoconf. A copy is in `kpathsea/CONFIGURE'.
In addition to the configure
options listed in the previous
section, there are a few things that can be affected at compile-time
with C definitions, rather than with configure
. Using any of
these is unusual.
To specify extra compiler flags (`-Dname' in this case), the simplest thing to do is:
make XCFLAGS="ccoptions"
You can also set the CFLAGS
environment variable before
running configure
. See section `configure environment' in Kpathsea.
Anyway, here are the possibilities:
Web2c has several Make targets besides the standard ones. You can invoke these either in the top level directory of the source distribution (the one containing `kpathsea/' and `web2c/'), or in the `web2c/' directory.
fmts
, bases
, and
mems
variables. See the top of `web2c/Makefile' for the
possibilities.
initex
invocation.
inimf
invocation.
inimpost
invocation.
To validate your TeX, Metafont, and MetaPost executables, run `make triptrap'. This runs the trip, trap, and mptrap "torture tests". See the files `triptrap/tripman.tex', `triptrap/trapman.tex', and `triptrap/mptrap.readme' for detailed information and background on the tests.
The differences between your executables' behavior and the standard values will show up on your terminal. The usual differences (these are all acceptable) are:
Any other differences are trouble. The most common culprit in the past has been compiler bugs, especially when optimizing. See section `TeX or Metafont failing' in Kpathsea.
The files `trip.diffs', `mftrap.diffs', and `mptrap.diffs' in the `triptrap' directory show the standard diffs against the original output. If you diff your diffs against these files, you should come up clean. For example
make trip >&mytrip.diffs diff triptrap/trip.diffs mytrip.diffs
To run the tests separately, use the targets trip
, trap
,
and mptrap
.
To run simple tests for all the programs as well as the torture tests, run `make check'. You can compare the output to the distributed file `tests/check.log' if you like.
Besides the configure- and compile-time options described in the previous sections, you can control a number of parameters (in particular, array sizes) in the `texmf.cnf' runtime file read by Kpathsea (see section `Config files' in Kpathsea).
Rather than exhaustively listing them here, please see the last section of the distributed `kpathsea/texmf.cnf'. Some of the more interesting values:
hash_extra
.
Of course, ideally all arrays would be dynamically expanded as necessary, so the only limiting factor would be the amount of swap space available. Unfortunately, implementing this is extremely difficult, as the fixed size of arrays is assumed in many places throughout the source code. These runtime limits are a practical compromise between the compile-time limits in previous versions, and truly dynamic arrays. (On the other hand, the Web2c BibTeX implementation does do dynamic reallocation of some arrays.)
Go to the first, previous, next, last section, table of contents.