diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-17 21:41:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-17 21:41:51 +0000 |
commit | 487ca4806cc046076293cf6cc5fbba0db282bac7 (patch) | |
tree | 847b412ab5158dd7bdd7ed7e5a4cc3fbca94be32 /Build/source/texk/djgpp/README.djgpp | |
parent | a3d3111bfe26b8e5f5bc6049dfb2a4ca2edc7881 (diff) |
texk 1
git-svn-id: svn://tug.org/texlive/trunk@1485 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/djgpp/README.djgpp')
-rw-r--r-- | Build/source/texk/djgpp/README.djgpp | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/Build/source/texk/djgpp/README.djgpp b/Build/source/texk/djgpp/README.djgpp new file mode 100644 index 00000000000..8579633b28e --- /dev/null +++ b/Build/source/texk/djgpp/README.djgpp @@ -0,0 +1,207 @@ +This directory includes files required to build TeX and related +programs with the DJGPP port of GNU tools for MS-DOS and MS-Windows. +DJGPP produces 32-bit protected-mode programs which run on all +Microsoft platforms. On plain MS-DOS they need a DPMI server (a free +server is available as v2misc/csdpmiNb.zip that can be downloaded from +DJGPP archives on SimTel.NET mirrors). MS-Windows have DPMI services +built into them. When run on Windows 9X, the DJGPP-compiled programs +support long file names. + + + Building the package from sources + --------------------------------- + + - The following tools are REQUIRED to build and install Web2c + programs (the parentheses list filenames of binary distributions + you can download from DJGPP archives if you don't have a + particular package): + + Bash (bsh1147b.zip) + Fileutils (fil316b.zip) + Textutils (txt122b.zip) + Grep (grep22b.zip) + Patch (pat25b.zip) + Sh-utils (shl112b.zip) + Sed (sed302b.zip) + Diffutils (dif2721b.zip) + Findutils (find41b.zip) + Ed (ed-02b.zip) + Gawk (gwk303b.zip) + Bison (bsn125b.zip) + Flex (flx254b.zip) + + All of these are available from the v2gnu directory on the usual + DJGPP sites, e.g. ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/. + + The above tools are IN ADDITION to the basic DJGPP development + environment that is required to compile and link C programs. + Consult the file v2/readme.1st and the DJGPP FAQ list in + v2/faqNNNb.zip, for details about the basic package. + + - Unzip the downloaded Web2c and Texmflib distributions from the + root of your DJGPP installation tree. If you are doing this on + Windows 9x, use an unzip program that supports long filenames. + + This will create the top directory and unpack the sources + into the relevant subdirectories. It will also create the + `share/texmf' directory and unpack the contents of Texmflib + library there. + + - At this point, I suggest you to read the file + `kpathsea/INSTALL.txt'. It includes a detailed yet very + readable description of the various options available to you at + build and installation time. + + - Make sure your TMPDIR environment variable points to a drive + with enough free space. Many DJGPP installations set this + variable to a RAM disk for performance reasons. Since RAM disks + tend to be small (a few Megabytes), a complex shell script may + fill it with temporary files, typically from pipes and `command` + expansions, after which point programs run by that shell will + start to fail. The TeX build process runs some very long and + complicated shell scripts which require around 4MB of free space + on TMPDIR filesystem (it failed for me when I had only 2.5MB). + If you cannot enlarge your RAM disk, point TMPDIR to a real disk + (the effect on the overall build time is insignificant, since + GCC will have hard time compiling some of the larger programs + with -O2 switch). TMPDIR is usually set on the DJGPP.ENV file, + but you can override it by setting TMPDIR from the DOS prompt. + + - The default 256KB stack size limit of DJGPP programs is too + small for compiling some of the TeX programs. Make sure your + cc1.exe program has at least 768KB of stack. Here's how: + + stubedit cc1.exe minstack=768k + + (`stubedit' is part of the basic DJGPP development + environment). + + - To configure the package for DJGPP, run the `config.bat' batch + file in the djgpp subdirectory. This sets some environment + variables and then invokes Bash to run the configuration script + with necessary arguments. (You can edit the batch file if you + want to run the script with different arguments.) The command + is this: + + djgpp\config + + - It is possible to configure and build Web2c from a directory + other than where the sources reside (useful when you cannot + write to that directory, like if it's on a CD-ROM). In that + case, you need to invoke `config.bat' with a single argument + which is the full pathname of the source directory. For + example: + + f:\gnu\web2c-7.2\djgpp\config f:/gnu/web2c-7.2 + + Note that you MUST use Unix-style forward slashes in the + argument you pass to `config.bat', or else it will fail. + + - The configure script will run for a while and recursively + configure the programs in subdirectories. + + - After running `config', just say "make". + + Building the full Web2c package takes a while (about 2 hours + on a 486/DX2-66, 35 minutes on a Pentium-166), so you might go + for a cup of coffee while it compiles. + + - To build the emulation programs in the `contrib' directory, + chdir into that directory and say "make". Compiling `regex.c' + triggers several warning messages about variables that ``might + be used uninitialized''; you can safely disregard these + warnings. + + - If you are building Texk more than 18 months since it was + released, you might see a warning message while LaTeX is built + which complains about old sources. In general, you can press + [Enter] in response to that message and let the build continue, + since the message is just a precaution. However, if you do care + to have the latest stuff, you will need to download the + latex/base directory from one of the CTAN mirrors and replace + with it the files in latex/base which come with tmflib74.zip. + + - If you have changed some of the programs in the package, it is a + good idea to run tests on them. The Makefile in the web2c + directory has a large number of xxx-check targets, where xxx is + the name of a program; you can run these one by one by going + into web2c and saying like so: + + make gftopk-check + + You can also run all of them together by saying "make check" in + the top-level directory. + + Some of the tests appear to fail (`diff' prints some actual + differences between the test results and the reference files + that come with the package. In most cases, this is normal + behavior (the programs were changed since the canonical results + were computed); the file `web2c/tests/check.log' includes the + output you should see for each test. If your results coincide + with `check.log' (except for the version of the package that the + programs print), you are doing fine. + + - Before installing, if you already have a previous version of + Texk installed, review your `texmf.cnf' configuration file (in + %TEXMF%/web2c directory). If you have changed it from the + original, you might want the installation process to leave it + alone and not overwrite it with the fresh copy from the + distribution. In that case, edit `texmf.cnf' and remove the + word "original" from its first line. This tells the + installation process to refrain from replacing that file. + + - To install the programs, say "make install" in the top + directory. This will create missing directories and copy the + programs and auxiliary files to their places. The programs + inside `contrib' need to be installed manually (typically, into + the same directory where the executable programs go). + + + Troubleshooting + --------------- + + I do NOT intend here to replace the various chapters in the docs + which explain how to solve problems and report bugs. Please read + the docs whenever you see any seemingly abnormal behavior. What's + below is intended to mention a few DOS- and DJGPP-specific + problems that you might see, and how to get around them. + + First, a word of warning. Web2c is a tremendously large and + complex package, with dozens of different programs, some of them + with many different options. While porting it, I've made a good- + faith effort to test everything I could, including using it to + generate printed versions of various TeX and Texinfo documents. + However, some bugs might still be there. Please treat this port + accordingly and report possible bugs to the DJGPP news group + (comp.os.msdos.djgpp) first. + + One possible problem you could see is due to insufficient number + of available file handles. `Dvilj' is particularly prone to this + problem. If you ever see an error message to the effect that a + program has no more handles, edit your CONFIG.SYS and enlarge the + FILES= setting there. (Don't forget to reboot so the new setting + is in effect.) + + Another related problem manifests itself by an error message like + so: + + c:\djgpp\bin/mf.exe: cannot open + + This usually happens when a DVI driver finds a missing font and + invokes the MetaFont program to generate them on the fly. Due to + peculiarities of file handles inheritance from parent to child + processes, the child process can sometimes fail to start because + the stub cannot open the .exe file. I think I've fixed these + problems, so you shouldn't see such messages, but if you do, + please report the details. + + If the font-creation fails, a file named `missfont.log' is created + in the current directory, with the commands you should issue to + make these fonts. Many times, invoking that file as a batch file + will create the missing fonts, so you could then invoke the DVI + driver again and it will work. + + + Happy TeXing! + + Eli Zaretskii <eliz@is.elta.co.il> |