For the compilation and installation, a script (one version for Plan9, another one for Unix like) is provided, and will automatically launch one step after the other, downloading, configuration and installation, asking to accept or change some user definable parameters.

In particular, it is possible to make an unprivileged installation (on systems implementing a privileged administrator/root user).

Details about sources available for download is also given.


The current published version is Please refer to engineering (present; future) for a discussion about the present state.
Since some details may differ from one version to the other (for example, I have changed the name of the recipe for the base data), please do retrieve the latest version of the get_mk_install script!


As explained in the summary, kerTeX aims to be a typographical system: it is hence an entity by itself that is installed—so to speak—like a hosted system on the O.S. you want to install it onto.

Because kerTeX aims to be as simple as possible as ubiquitous and as independent as possible, the only requirement from the O.S. is a libc (static or dynamic, implementing standard C—even if not C99). Here is the prerequisite for the "kernel".

For the administration and the maintenance of user data and extensions, a limited subset of POSIX.2 is a prerequisite too. One finds them, natively or via the O.S. packaging system, on all Unices; on Plan9 with APE; on MS Windows for example with msys2, not to mention SFU, Cygwin or, now, WSL—for MS Windows, all the possibilities providing a POSIX environment fallback, for our purpose, to the Unix type; at the moment, RISK has not been adapted to allow compilation with for example mingw (or Visual Studio) and usage natively with utils provided by Msys2; Todo for 1.0 release.

To be able to download sources of optional data (what is found on CTAN to be brief), a http client at the minimum is needed (this is not strictly necessary: the packaging framework understand the file:// URL). ftp on the BSD*, hget for Plan9, lftp or curl are supported.

For the compilation, 26MiB are necessary for the sources (that will be treated as read-only) and 30MiB at the minimum for the compilation proper with the RISK SAVE_SPACE—indeed, the compilation by itself needs half the amount; but a tarball is created gathering the compiled products and files copied verbatim from the sources, and this set is created in the compilation dir.

For installation, the base system requires at least 40MiB, being the sum of 26 MiB for the "kernel" and 10MiB for the compiled fonts and dumps.

Downloading, configuration and compilation

For the compilation, we use RISK (developed initially for KerGIS), and RISK itself, for configuration, uses a restricted subset of POSIX.2 utilities.

The R.I.S.K. framework allows a wide range of variations, including cross-compilation. This is done via Bourne shell variables definitions. The R.I.S.K. already known OSes have their parameters defined and it is easy to add another system.

Virtually, since the "kernel" only requires the lic, all the OSes can be supported.

Unprivileged installation (installation without requiring root/administrator privileged) is supported also.

But the more frequent case, the "equal" (not to say "identical") compilation: one compiles for the very same O.S. and very same machine where the compilation is done, a lot of things are simplified and two dedicated scripts have been written for this case.

One for Unix like systems (this includes MS Windows with Interix, Cygwin, WSL with Ubuntu etc.) : get_mk_install.sh the other for Plan9 : get_mk_install.rc.

Just download the correct script, run it and let the script guide you.

Unprivileged installation

(This doesn't concern Plan9 where by namespace handling and separation between file server, CPU and terminal, the problem is for the most solved.)

KerTeX by itself doesn't need any special privilege; hence it is possible to install it as a non privileged user. However, the installation will be totally unprivileged, without resorting to special rights and hence the following rules must be kept in mind:

Problem and special cases

RISK prints messages in case of problems.

If configuration fails, this is most certainly because some required POSIX.2 utilities are not present ou because RISK doesn't find the libc in the directories it searches by default because the OS is of an unknown type to ti.

In this case, download and run rkguess.sh, that will search the hard way what is needed and will print what it has found or not. Re-run get_mk_install after adding the missing pieces (frequently ed(1); despite the fact that it is the only absolutely necessary editor, some Linux distribution don't provide it—or in some case provide a so-called program that is not a true ed(1), for example the Busybox version, that is sed(1) masquerading as ed(1)).

Further explanations are in README.

If you are blocked, send a message to the developer (please use your e-mail client with this address).


Both the sources and the patches are gzip compressed and are provided with a GNUpg detached signature so that you can ensure that what you have actually retrieved matches what the release manager has put online.

At the moment, the release manager is Thierry LARONDE, and you can retrieve his public key from the keyserver pgp.mit.edu.

File Date of publication Size (in bytes) Description Signature
get_mk_install.sh 2020-11-05 8519 A script for an Unix like OS (including Mac OS X, Android and Windows Interix), allowing unprivileged build, using kerTeX local sources (for example if modified) or retrieving them and the doc (via ftp(1), lftp(1) or curl(1) depending on the systems), untaring, compiling, installing and generating the dumps and fonts. Well, doing everything detailed in the README automatically (asking you if it can proceed). Run it in a dir with enough place for the unpacked sources (40 Mb will do). Call it like this:
$ sh get_mk_install.sh [my_conf]
get_mk_install.rc 2020-11-05 4808 A script for Plan9, using kerTeX local sources (for example if modified) or retrieving them and the doc (via ftpfs(4)), untaring, compiling, installing and generating the dumps and fonts. Well, doing everything detailed in the README automatically (asking you if it can proceed). Run it in a dir with enough place for the unpacked sources (40 Mb will do). Call it like this:
% rc get_mk_install.rc [my_conf]
kertex.SlackBuild 2018-08-22 11234 An example of the R.I.S.K. compilation framework in an alien OS package framework. To be adapted by programmers. kertex.SlackBuild.sig
README 2020-11-15 49640 Description, instructions for the compilation, installation and "mise en oeuvre". README.sig
kertex_bundle.tar 2020-11-22 11008000 All the following sources. kertex_bundle.tar.sig
knuth_2017.07.31.tar.gz 2020-07-11 5037947 D.E. Knuth's sources. knuth_2017.07.31.tar.gz.sig
adobe_2011.12.31.tar.gz 2020-07-11 316171 Adobe published PostScript core fonts AFM. adobe_2011.12.31.tar.gz.sig
ams_3.04.tar.gz 2020-07-11 3250337 Supplementary mathematical fonts, or supplementary formats for CM fonts, published by the AMS. ams_3.04.tar.gz.sig
bibtex_0.99d.tar.gz 2020-07-11 163902 Oren Patashnik's BibTeX (version 0.99d). bibtex_0.99d.tar.gz.sig
etex_2.1.tar.gz 2020-07-11 136375 NTS team's e-TeX. etex_2.1.tar.gz.sig
risk_comp_1.18.8.5.tar.gz 2020-11-22 152006 Tools for the compilation and installation of the project. risk_comp_1.18.8.5.tar.gz.sig
licence_kerTeX_M.txt 2011-12-19 7765 kerTeX_M licence.
kertex_M_1.0.3.2.tar.gz 2020-10-04 48908 Tools for WEB-to-C translation. kertex_M_1.0.3.2.tar.gz.sig
licence_kerTeX_T.txt 2012-01-01 12597 kerTeX_T licence.
kertex_T_0.99.12.5.tar.gz 2020-11-22 1895319 Makefile prototypes ; "change files", supplementary programs and fonts non present in D.E. Knuth's sources. kertex_T_0.99.12.5.tar.gz.sig

©2010–2020 Thierry Laronde — FRANCE