texlive-20140525
Introduction to TeX Live from source
A binary version of the TeX Live
package is installed at install-tl-unx. Here, we use that to
rebuild the compiled programs from source.
This package is known to build and work properly using an LFS-7.6
systemd platform.
Package Information
TeX Live Dependencies
Required
install-tl-unx or a previous version of TeX
Live (untested, you would need to alter the configure switches
which refer to 2014 so that it overwrites your existing
installation, or else copy everything to the location for the
current year), and Clisp-2.49 (to build xindy which is an index processor
for multi-lingual index creation)
Recommended
ghostscript-9.14 (for dvisvgm - used by
asymptote which provides a mathematical coordinate-based framework
for technical drawing), X Window
System
The source ships with its own versions of many libraries, and will use them unless
it is forced to use the system versions. The following are
recommended so that the system version will be used: Fontconfig-2.11.1, FreeType-2.5.3, GC-7.4.2, Graphite2-1.2.4, Harfbuzz-0.9.35 (linked to graphite2),
ICU-53.1, libpng-1.6.13,
Poppler-0.26.4
Optional
The source ships with its own versions of several libraries which
are either not under active development, or only used for limited
functionality. If you install these, as with some other optional
dependencies in this book you will need to tell configure to use the system
versions. GD, t1lib,
ZZIPlib,
TECkit
Runtime dependencies
Some (re-installed) scripts will use Python-2.7.8 or
Ruby-2.1.2.
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/texlive
Installation of TeX Live
These instructions will overwrite the corresponding files from the
binary installer. As with the installer, change x86_64-linux to
whatever matches your architecture.
Please note that installing from source will recompile the binary
programs and recreate the man
and
info
files. It will also overwrite the
scripts - some of these may be older versions than those from the
newer installer. It will not
recreate any of the following: the more than 200 symlinks in the
x86_64-linux directory (some are alternate names, many are pointers
to the scripts), html files, PDF files, licenses, README files, two
config files (texmf.cnf
and
texmfcnf.lua
), nor the many package
and font files in texmf-dist
and
texmf-var
, nor the files recording
the actions of the installer, and the ls-R
files listing what was originally installed.
Asy and the rest of asymptote is by default not rebuilt, so we have
to separately run configure and make in its directory.
mkdir texlive-build &&
cd texlive-build &&
../configure \
--prefix=/opt/texlive/2014 \
--bindir=/opt/texlive/2014/bin/x86_64-linux \
--datarootdir=/opt/texlive/2014 \
--includedir=/usr/include \
--infodir=/opt/texlive/2014/texmf-dist/doc/info \
--libdir=/usr/lib \
--mandir=/opt/texlive/2014/texmf-dist/doc/man \
--disable-native-texlive-build \
--disable-static --enable-shared \
--with-system-cairo \
--with-system-fontconfig \
--with-system-freetype2 \
--with-system-graphite2 \
--with-system-harfbuzz \
--with-system-icu \
--with-system-libgs \
--with-system-libpng \
--with-system-pixman \
--with-system-poppler \
--with-system-xpdf \
--with-system-zlib \
--with-banner-add=" - BLFS" \
--enable-xindy \
--enable-xindy-rules \
--enable-xindy-doc \
--with-clisp-runtime=system
Asymptote has to be separately configured. It ships with its own
copy of the gc source tarball, and will only use the system version
if that local source is removed.
pushd ../utils/asymptote &&
rm -v gc-7.4.0.tar.gz &&
echo "ac_cv_lib_m_sqrt=yes" >config.cache &&
echo "ac_cv_lib_z_deflate=yes" >>config.cache &&
./configure LIBS="-ltirpc " \
--prefix=/opt/texlive/2014/ \
--bindir=/opt/texlive/2014/bin/x86_64-linux \
--enable-texlive-build \
--datarootdir=/opt/texlive/2014/texmf-dist \
--infodir=/opt/texlive/2014/texmf-dist/doc/info \
--mandir=/opt/texlive/2014/texmf-dist/doc/man \
--cache-file=config.cache &&
popd &&
make &&
make -C ../utils/asymptote
To test the results, issue: make -k
check && make -C utils/asymptote check.
Now, as the root
user:
make install &&
make -C ../utils/asymptote install
One part of the package remains to be rebuilt: biber-1.8.
Command Explanations
--prefix=, --bindir=, --datarootdir=,
--infodir=, --mandir= ...
: these switches ensure that
the files installed from source will overwrite the corresponding
files previously installed by install-tl.
--includedir=, --libdir=
...
: these switches ensure that the libraries will be
found at runtime, and that programs can be compiled against them.
--disable-static
: This
switch prevents installation of static versions of the libraries.
--enable-shared
: Use shared
versions of libkpathsea
and
libptexenc
.
--with-system-...
: Unless
this parameter is used, the included versions of these libraries
will be statically compiled into the programs which need them. If
you decided not to install a recommended library, omit the
corresponding switches.
--with-system-xpdf
:
Uniquely, this parameter has a non-standard meaning, it tells
configure to use the
system-installed poppler headers
and library. Again, omit this if you have not installed
poppler.
echo "ac_cv_lib_m_sqrt=yes" ...
LIBS="-ltirpc " >config.cache, ...
--cache-file=config.cache
: The configure scripts in
TeX Live are uncommon. Asymptote
not only has to be separately configured and built, the configure
script fails to find the shared libtirpc.so
. Passing that in LIBS breaks the
tests for (static) libm and (shared) libz, so we have to fix things
up, in much the same way as when cross-compiling.
--without-x
: use this (and omit the
configure and make in utils/asymptote
if you do not have Xorg installed.
Contents
Installed Programs:
Over 300 binaries and symlinks to
scripts
Installed Libraries:
libkpathsea.so, libptexenc.so
Installed Directories:
/opt/texlive, /usr/include/kpathsea,
/usr/include/ptexenc
Short Descriptions
TeX programs
|
The programs included in TeX are too numerous to individually
list. Please refer to the individual program HTML and PDF
pages in the installation directory's 2014/doc.html file, or the various
html, man, or pdf files within the subdirectories of
2014/texmf-dist/ .
|
libkpathsea.so
|
(kpathsearch) exists to look up a file in a list of
directories.
|
libptexenc.so
|
is a library for Japanese pTeX (publishing TeX).
|
Last updated on 2014-09-22 19:27:33 -0700