Introduction to TeX Live and its installer
The TeX Live package is a comprehensive TeX document production system. It includes TeX, LaTeX2e, ConTeXt, Metafont, MetaPost, BibTeX and many other programs; an extensive collection of macros, fonts and documentation; and support for typesetting in many different scripts from around the world.
This page is for people who wish to use the binary installer to provide the programs, the scripts, and a lot of supporting files and documentation. The installer is updated frequently, so any published md5sum will soon be out of date. Newer versions of the installer are expected to work with these instructions, for so long as they install to a 2023/
directory.
There are two reasons why you may wish to install the binaries in BLFS: either you need a smaller install (e.g. at a minimum plain TeX without LaTeX2e, ConTeXt, etc), or you wish to use tlmgr to get updates whilst this version is supported (typically, until April of the year after it was released). For the latter, you might prefer to install in your /home
directory as an unprivileged user, and to then make corresponding changes to the PATH in your ~/.bashrc
or equivalent.
Note
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Package Information
Recommended
GnuPG-2.4.3 (to validate both the initial downloads, and also any updates you might later make using tlmgr.) libwww-perl-6.73 (to use a single connection to the server, which will reduce its load and speed things up.)
Recommended (at runtime)
The binaries are mostly linked to included static libraries or general (LFS) system libraries, but a few of the programs and several scripts will fail if the following packages are not present:
ghostscript-10.02.1 is dynamically loaded by the external application dvisvgm, which is used by asy when that creates SVG files.
Xorg Libraries and libxcb-1.16 are needed for inimf, mf, pdfclose, pdfopen and xdvi-xaw. But if you are using asy, or using a TeX engine to create a PDF file, you will need a graphical environment (for PDF files, this is to support a PDF viewer of your choice, for example epdfview-gtk3-20200814).
The binary version of asy needs Freeglut-3.4.0.
The binary version of asy is linked to libGLX.so.0 from libglvnd, but installing that will break future updates of BLFS packages such as Mesa-23.3.3. Work around that by creating a symlink as the root
user:
ln -sv libGL.so.1 /usr/lib/libGLX.so.0
Note
As always with contributed binary software, it is possible that the required dependencies may change when the installer is updated. In particular, these dependencies have only been checked on x86_64.
Python-2.7.18 is used by the unmaintained ebong CTAN module (intended for writing Bengali in Rapid Roman Format). /usr/bin/python
is also in the shebang line for the latex-papersize and lilyglyphs scripts, and documentation at CTAN says both modules have been updated to work with python3. In pythontex there are scripts to invoke python3 or python2 according to the system's version of python. Ruby-3.3.0 is used by two scripts, one is for pTex (Japanese vertical writing) and the other is match_parens which might be generally useful. The perl module Tk, which needs to be run from an X11 session to run the tests and requires Tk-8.6.13 is used by one of the scripts for ptex and is needed for texdoctk (a GUI interface for finding documentation files and opening them with the appropriate viewer). ps2pdf, from ghostscript-10.02.1, is used by some utilities and scripts.
Binary Installation of TeX Live
The TeX Live set of programs with its supporting documents, fonts, and utilities is very large. The upstream maintainers recommend placing all files in a single directory structure. BLFS recommends /opt/texlive
.
As with any other package, unpack the installer and change into its directory, install-tl-<CCYYMMDD>
. This directory name changes when the installer is updated, so replace <CCYYMMDD> by the correct directory name.
Warning
If you have installed any of the luatex programs (luatex, luahbtex, luajitex, luajithbtex) or ConTeXt with the luametatex backend there was a security issue fixed by the introduction of luatex v1.17.0. You should check the version with 'luatex --version' and if it is less than 1.17.0 you can use tlmgr to update.
Note
The distribution binaries installed below may use static linking for general linux system libraries. Additional libraries or interpreters as specified in the dependencies section do not need to be present during the install, but the programs that need them will not run until their specific dependencies have been installed.
With all contributed binary software, there may be a mismatch between the builder's toolchain and your hardware. In most of TeX this will probably not matter, but in uncommon corner cases you might hit problems. For example, if your x86_64 processor does not support 3dnowext or 3dnow, the 2014-06-28 binary failed in conTeXt when running LuaTeX, although lualatex worked, as did the i686 binaries on the same machine. In such cases, the easiest solution is to install texlive from source. Similarly, the x86_64 binary version of asy runs very slowly when creating 3-D diagrams.
Now, as the root
user:
TEXLIVE_INSTALL_PREFIX=/opt/texlive ./install-tl
This command is interactive and allows selection or modification of platform, packages, directories, and other options. The full installation scheme will require about 4.9 gigabytes of disk space. The time to complete the download will depend on your internet connection speed and the number of packages selected.
It has been established by Debian that the python scripts in latex-make
will work with python3, so update them to invoke that by running the following command as the root
user:
for F in /opt/texlive/2023/texmf-dist/scripts/latex-make/*.py ; do
test -f $F && sed -i 's%/usr/bin/env python%/usr/bin/python3%' $F || true
done