(This file was generated by makeinfo and splitinfo.gawk.) (Released under the old-style GNU documentation license; see sources or other output files for full text.) 5 Installing ************ This section discusses the results of 'make install' in the source tree. The main consideration is that 'make install' is not enough to make a usable TeX installation. Beyond the compiled binaries, (thousands of) support files are needed; just as a first example, 'plain.tex' is not in the source tree. These support files are maintained completely independently and are not present in the TL source tree. The best basis for dealing with them is the TeX Live (plain text) database in 'Master/tlpkg/texlive.tlpdb', and/or the TeX Live installer, 'install-tl'. More information is under 'Master/tlpkg' and at . 5.1 Installation directories ============================ Running 'make install' (or 'make install-strip') installs executables in 'BINDIR', libraries in 'LIBDIR', headers in 'INCLUDEDIR', general data (including "linked scripts", *note Linked scripts::) in 'DATAROOTDIR/texmf-dist', man pages in 'MANDIR', and Info files in 'INFODIR'. The values of these directories are determined by 'configure' and can be specified explicitly as options such as '--prefix=PREFIX' or '--bindir=BINDIR'; otherwise, they are given by their usual Autoconf defaults: PREFIX /usr/local EXEC_PREFIX PREFIX BINDIR EXEC_PREFIX/bin LIBDIR EXEC_PREFIX/lib INCLUDEDIR PREFIX/include DATAROOTDIR PREFIX/share MANDIR DATAROOTDIR/man INFODIR DATAROOTDIR/info except possibly modified as follows: * If the option '--enable-multiplatform' is given, '/PLATFORM' (i.e., the canonical platform name) is appended to 'BINDIR' and 'LIBDIR'. This is implied for a native TL build. * In a native TL build, 'DATAROOTDIR' is set to 'PREFIX', 'INFODIR' is set to 'PREFIX/texmf-dist/doc/info', and 'MANDIR' to 'PREFIX/texmf-dist/doc/man', corresponding to the directories used in the TL distribution. The top-level 'configure' script displays all these installation paths. For the native TL build, the 'Build' script leaves the binaries in './inst/bin/STD-SYSTEM-TRIPLET'. The new binaries are not directly usable from that location; they need to be copied to 'Master/bin/TL-PLATFORM'. The other files and directories that end up in './inst/' are ignored. 5.2 Linked scripts ================== Quite a few executables are architecture-independent shell, Perl, or other interpreted scripts, rather than compiled binaries. A few are maintained as part of the TL source tree, but most are maintained elsewhere with copies under 'texk/texlive/linked_scripts'. These so-called "linked scripts" are installed under 'DATAROOTDIR/texmf-dist/scripts'; for Unix-like systems a symbolic link is made in 'BINDIR'. For example, a symlink points from 'BINDIR/ps2eps' to 'DATAROOTDIR/texmf-dist/scripts/ps2eps/ps2eps.pl'. For Windows, a standard wrapper binary (copied to, e.g., 'BINDIR/ps2eps.exe') serves the same purpose. The source for the wrapper is in 'texk/texlive/w32_wrapper'. One reason for this is to avoid having many copies of the same script; a more important reason is that it guarantees the scripts will stay in sync across the different supported operating systems. Most important of all, we want the 'BINDIR' resulting from the build to be as close as possible to what is in the TL distribution. At present, there are a few exceptions--Asymptote, Biber, Xindy--and each one creates considerable extra work. We don't want to add more. (See for information about building those exceptions, as well as the 'xz' and 'wget' programs that are used in the TL infrastructure.) 5.3 Distro builds ================= Although they use the same code base, building for the native TL distribution as shipped by the TeX user groups is typically quite different from a "distro" build needed by, e.g., a full GNU/Linux or BSD operating system distribution. The native TL distribution uses shared libraries only when absolutely necessary ('libc', 'libm', X11 libraries, and 'libfontconfig'). In contrast, a distro typically wants to use as many shared libraries as possible from elsewhere on the system, including TeX-specific libraries such as 'libkpathsea' (even though Kpathsea has never officially been released as a shared library). In addition, the installation paths will, in general, be completely different. Here are the 'configure' options that distro builds are likely to find most relevant: '--disable-native-texlive-build' This must be specified to avoid interference from the many tweaks we do for the native TL build. '--with-banner-add=/SOMEDISTRO' This isn't technically required, but is strongly recommended, so your build and your distro can be distinguished from others. '--enable-shared' Build shared versions of the TeX-specific libraries (uses 'libtool'). '--disable-static' Do not build the static versions of the TeX-specific libraries. '--with-system-LIB' Look for and use a system version of the library LIB. 'configure --help' will give you the list of possibilities. '--with-LIB-includes=DIR' '--with-LIB-libdir=DIR' If needed, allows you to specify where the headers/code are for the given library LIB. '--prefix=/usr' '--prefix=/opt/TeXLive' Or whatever your convention is. The default is '/usr/local' and you shouldn't install there for a distro. '--libdir=\${exec_prefix}/lib64' May be needed for 64-bit bi-architecture (GNU/Linux) systems. You will need to take care of the support files mentioned above (*note Installing::), and many other issues, such as font maps, languages, and formats, independently of the build. Norbert Preining has written a detailed article on adapting TL for distros: . (If the article needs updating in the future, perhaps we will merge it into this document.)