TeXLive
Introduction to TeXLive
TeX Live is a complete TeX distribution.
Project Homepage: http://www.tug.org/
Dependencies
Required
Optional
Configuration Information
| --with-tex-banner='TeX Live 2008/CLFS': when making executables for an independent distro, the TeX-live maintainers request adding a suffix to the banner. |
It is recommended that you create a dedicated directory to download and unpack all of the TeXLive files:
mkdir texlive-build && cd texlive-build
After creating this dedicated directory, cd into it, download and unpack the three files above. After unpacking the files above, download and unpack some base format files:
TEXLIVE_TEXMF="abstyles amslatex-primer amsmath amsrefs amstex appendix bibtex makeindex a2ping cweb dviasm hyphenex mkind-english mkjobtexmf pdfcrop synctex texcount collection-binextra"
TEXLIVE_FONTS="fontinst bin-afm2pl bin-fontware bin-ps2pkm collection-fontbin latex-fonts"
for p in ${TEXLIVE_TEXMF}; do
wget ftp://tug.org/texlive/historic/2008/tlnet/archive/$p.tar.lzma
lzma d $p.tar.lzma $p.tar
tar xf $p.tar
done
for p in ${TEXLIVE_FONTS}; do
wget ftp://tug.org/texlive/historic/2008/tlnet/archive/$p.tar.lzma
lzma d $p.tar.lzma $p.tar
tar xf $p.tar
done
unset TEXLIVE_TEXMF
unset TEXLIVE_FONTS
Now change into the top of the TeXLive source tree and build TeXLive.
Non-Multilib
Move the format files into the top of the TeXLive source tree:
mv -v ../texmf.d . mv -v ../texlive-20080822-texmf/texmf* .
Apply the patch:
patch -Np1 -i ../texlive-20080816-fixes-1.patch && libtoolize --force && cd libs/teckit && mkdir m4 && mv *.m4 m4/ && sed -i 's/^AC_PROG_RC/true/' configure.ac && autoreconf && libtoolize --force && cd ../../
Compile the package:
./configure --prefix=/usr --bindir=/usr/bin \
--datadir=$(pwd) \
--with-system-freetype2 --with-freetype2-include=/usr/include \
--with-system-zlib --with-system-pnglib \
--without-texinfo --without-dialog \
--with-texi2html --disable-multiplatform \
--with-epsfwin --with-mftalkwin \
--with-regiswin --with-tektronixwin \
--with-unitermwin --with-ps=gs \
--with-psutils --without-sam2p \
--with-t1utils --enable-ipc \
--without-etex --with-xetex \
--with-dvipng --without-dvipdfm \
--without-dvipdfmx --with-xdvipdfmx \
--without-lcdf-typetools --without-pdfopen \
--without-ps2eps --without-detex \
--without-ttf2pk --without-tex4htk \
--without-cjkutils --without-xdvik \
--without-oxdvik --without-xindy \
--without-luatex --without-dvi2tty \
--without-vlna --disable-largefile \
--enable-shared \
--with-tex-banner='TeX Live 2008/CLFS' &&
sed -i '350i const\\' libs/xpdf/goo/gfile.cc &&
sed -i 's/getline/nl_&/g' utils/t1utils/t1asm.c &&
make texmf=${TEXMF_PATH:-/usr/share/texmf}
fpitexmf() {
local mark="$1.found"
find texmf -name $1 -exec touch "${mark}" \;
find texmf-dist -name $1 -exec touch "${mark}" \;
[ -f "${mark}" ]
}
for i in `egrep '^(Mixed)?Map' "texmf/web2c/updmap.cfg" | sed 's@.* @@'`; do
fpitexmf "$i" || echo "$i"
done > "updmap_update"
{
sed 's@/@\\/@g; s@^@/^MixedMap[ ]*@; s@$@$/s/^/#! /@' <"updmap_update"
sed 's@/@\\/@g; s@^@/^Map[ ]*@; s@$@$/s/^/#! /@' <"updmap_update"
} > "updmap_update2"
unset fpitexmf
sed -f "updmap_update2" "texmf/web2c/updmap.cfg" > "updmap_update3"\
&& cat "updmap_update3" > "texmf/web2c/updmap.cfg"
Install the package:
cp -r texmf texmf-dist /usr/share &&
make bindir="/usr/bin" texmf="${TEXMF_PATH:-/usr/share/texmf}" run_texlinks="true" run_mktexlsr="true" install &&
sed -i 's|/tmp/texlive||g' ../texmf-update &&
install -vm744 ../texmf-update /usr/sbin
Multilib
32Bit
Move the format files into the top of the TeXLive source tree:
mv -v ../texmf.d . mv -v ../texlive-20080822-texmf/texmf* .
Apply the patch:
patch -Np1 -i ../texlive-20080816-fixes-1.patch && libtoolize --force && cd libs/teckit && mkdir m4 && mv *.m4 m4/ sed -i 's/^AC_PROG_RC/true/' configure.ac && autoreconf && libtoolize --force && cd ../../
Compile the package:
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
./configure --prefix=/usr --bindir=/usr/bin \
--datadir=$(pwd) \
--with-system-freetype2 --with-freetype2-include=/usr/include \
--with-system-zlib --with-system-pnglib \
--without-texinfo --without-dialog \
--with-texi2html --disable-multiplatform \
--with-epsfwin --with-mftalkwin \
--with-regiswin --with-tektronixwin \
--with-unitermwin --with-ps=gs \
--with-psutils --without-sam2p \
--with-t1utils --enable-ipc \
--without-etex --with-xetex \
--with-dvipng --without-dvipdfm \
--without-dvipdfmx --with-xdvipdfmx \
--without-lcdf-typetools --without-pdfopen \
--without-ps2eps --without-detex \
--without-ttf2pk --without-tex4htk \
--without-cjkutils --without-xdvik \
--without-oxdvik --without-xindy \
--without-luatex --without-dvi2tty \
--without-vlna --disable-largefile \
--enable-shared \
--with-tex-banner='TeX Live 2008/CLFS' &&
sed -i '350i const\\' libs/xpdf/goo/gfile.cc &&
sed -i 's/getline/nl_&/g' utils/t1utils/t1asm.c &&
make texmf=${TEXMF_PATH:-/usr/share/texmf}
fpitexmf() {
local mark="$1.found"
find texmf -name $1 -exec touch "${mark}" \;
find texmf-dist -name $1 -exec touch "${mark}" \;
[ -f "${mark}" ]
}
for i in `egrep '^(Mixed)?Map' "texmf/web2c/updmap.cfg" | sed 's@.* @@'`; do
fpitexmf "$i" || echo "$i"
done > "updmap_update"
{
sed 's@/@\\/@g; s@^@/^MixedMap[ ]*@; s@$@$/s/^/#! /@' <"updmap_update"
sed 's@/@\\/@g; s@^@/^Map[ ]*@; s@$@$/s/^/#! /@' <"updmap_update"
} > "updmap_update2"
unset fpitexmf
sed -f "updmap_update2" "texmf/web2c/updmap.cfg" > "updmap_update3"\
&& cat "updmap_update3" > "texmf/web2c/updmap.cfg"
Install the package:
cp -r texmf texmf-dist /usr/share &&
make bindir="/usr/bin" texmf="${TEXMF_PATH:-/usr/share/texmf}" run_texlinks="true" run_mktexlsr="true" install
sed -i 's|/tmp/texlive||g' ../texmf-update &&
install -vm744 ../texmf-update /usr/sbin
N32
Move the format files into the top of the TeXLive source tree:
mv -v ../texmf.d . mv -v ../texlive-20080822-texmf/texmf* .
Apply the patch:
patch -Np1 -i ../texlive-20080816-fixes-1.patch && libtoolize --force && cd libs/teckit && mkdir m4 && mv *.m4 m4/ && sed -i 's/^AC_PROG_RC/true/' configure.ac && autoreconf && libtoolize --force && cd ../../
Compile the package:
CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" \
./configure --prefix=/usr --bindir=/usr/bin \
--libdir=/usr/lib32 --datadir=$(pwd) \
--with-system-freetype2 --with-freetype2-include=/usr/include \
--with-system-zlib --with-system-pnglib \
--without-texinfo --without-dialog \
--with-texi2html --disable-multiplatform \
--with-epsfwin --with-mftalkwin \
--with-regiswin --with-tektronixwin \
--with-unitermwin --with-ps=gs \
--with-psutils --without-sam2p \
--with-t1utils --enable-ipc \
--without-etex --with-xetex \
--with-dvipng --without-dvipdfm \
--without-dvipdfmx --with-xdvipdfmx \
--without-lcdf-typetools --without-pdfopen \
--without-ps2eps --without-detex \
--without-ttf2pk --without-tex4htk \
--without-cjkutils --without-xdvik \
--without-oxdvik --without-xindy \
--without-luatex --without-dvi2tty \
--without-vlna --disable-largefile \
--enable-shared \
--with-tex-banner='TeX Live 2008/CLFS' &&
sed -i '350i const\\' libs/xpdf/goo/gfile.cc &&
sed -i 's/getline/nl_&/g' utils/t1utils/t1asm.c &&
make texmf=${TEXMF_PATH:-/usr/share/texmf}
fpitexmf() {
local mark="$1.found"
find texmf -name $1 -exec touch "${mark}" \;
find texmf-dist -name $1 -exec touch "${mark}" \;
[ -f "${mark}" ]
}
for i in `egrep '^(Mixed)?Map' "texmf/web2c/updmap.cfg" | sed 's@.* @@'`; do
fpitexmf "$i" || echo "$i"
done > "updmap_update"
{
sed 's@/@\\/@g; s@^@/^MixedMap[ ]*@; s@$@$/s/^/#! /@' <"updmap_update"
sed 's@/@\\/@g; s@^@/^Map[ ]*@; s@$@$/s/^/#! /@' <"updmap_update"
} > "updmap_update2"
unset fpitexmf
sed -f "updmap_update2" "texmf/web2c/updmap.cfg" > "updmap_update3"\
&& cat "updmap_update3" > "texmf/web2c/updmap.cfg"
Install the package:
cp -r texmf texmf-dist /usr/share &&
make bindir="/usr/bin" texmf="${TEXMF_PATH:-/usr/share/texmf}" run_texlinks="true" run_mktexlsr="true" install
sed -i 's|/tmp/texlive||g' ../texmf-update &&
install -vm744 ../texmf-update /usr/sbin
64Bit
Move the format files into the top of the TeXLive source tree:
mv -v ../texmf.d . mv -v ../texlive-20080822-texmf/texmf* .
Apply the patch:
patch -Np1 -i ../texlive-20080816-fixes-1.patch && libtoolize --force && cd libs/teckit && mkdir m4 && mv *.m4 m4/ && sed -i 's/^AC_PROG_RC/true' configure.ac && autoreconf && libtoolize --force && cd ../../
Compile the package:
CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
./configure --prefix=/usr --bindir=/usr/bin \
--libdir=/usr/lib64 --datadir=$(pwd) \
--with-system-freetype2 --with-freetype2-include=/usr/include \
--with-system-zlib --with-system-pnglib \
--without-texinfo --without-dialog \
--with-texi2html --disable-multiplatform \
--with-epsfwin --with-mftalkwin \
--with-regiswin --with-tektronixwin \
--with-unitermwin --with-ps=gs \
--with-psutils --without-sam2p \
--with-t1utils --enable-ipc \
--without-etex --with-xetex \
--with-dvipng --without-dvipdfm \
--without-dvipdfmx --with-xdvipdfmx \
--without-lcdf-typetools --without-pdfopen \
--without-ps2eps --without-detex \
--without-ttf2pk --without-tex4htk \
--without-cjkutils --without-xdvik \
--without-oxdvik --without-xindy \
--without-luatex --without-dvi2tty \
--without-vlna --disable-largefile \
--enable-shared \
--with-tex-banner='TeX Live 2008/CLFS' &&
sed -i '350i const\\' libs/xpdf/goo/gfile.cc &&
sed -i 's/getline/nl_&/g' utils/t1utils/t1asm.c &&
make texmf=${TEXMF_PATH:-/usr/share/texmf}
fpitexmf() {
local mark="$1.found"
find texmf -name $1 -exec touch "${mark}" \;
find texmf-dist -name $1 -exec touch "${mark}" \;
[ -f "${mark}" ]
}
for i in `egrep '^(Mixed)?Map' "texmf/web2c/updmap.cfg" | sed 's@.* @@'`; do
fpitexmf "$i" || echo "$i"
done > "updmap_update"
{
sed 's@/@\\/@g; s@^@/^MixedMap[ ]*@; s@$@$/s/^/#! /@' <"updmap_update"
sed 's@/@\\/@g; s@^@/^Map[ ]*@; s@$@$/s/^/#! /@' <"updmap_update"
} > "updmap_update2"
unset fpitexmf
sed -f "updmap_update2" "texmf/web2c/updmap.cfg" > "updmap_update3"\
&& cat "updmap_update3" > "texmf/web2c/updmap.cfg"
Install the package:
cp -r texmf texmf-dist /usr/share &&
make prefix="/usr" bindir="/usr/bin" libdir="/usr/lib64" texmf="${TEXMF_PATH:-/usr/share/texmf}" run_texlinks="true" run_mktexlsr="true" install &&
sed -i 's|/tmp/texlive||g' ../texmf-update &&
install -vm744 ../texmf-update /usr/sbin
Configuring
Configure your system to use TeX-live.
install -dvm1777 /var/cache/fonts &&
install -dvm755 /usr/share/texmf-site &&
install -dvm755 /etc/texmf/{web2c,updmap.d,fmtutil.d,texmf.d,language.dat.d,language.def.d}
Remove fmtutil.cnf and the default texmf.cnf, they will be regenerated by texmf-update.
rm -f /usr/share/texmf/web2c/fmtutil.cnf && rm -f /usr/share/texmf/web2c/texmf.cnf && cp -v texmf.d/*.cnf /etc/texmf/texmf.d && cp -v /usr/share/texmf/fmtutil/* /etc/texmf/fmtutil.d/ && mv /usr/share/texmf/web2c/updmap.cfg /etc/texmf/updmap.d/00updmap.cfg
Create some symlinks so certain components can find configuration files:
ln -svf /etc/texmf/web2c/fmtutil.cnf /usr/share/texmf/web2c/fmtutil.cnf && ln -svf /etc/texmf/web2c/texmf.cnf /usr/share/texmf/web2c/texmf.cnf && ln -svf /etc/texmf/web2c/updmap.cfg /usr/share/texmf/web2c/updmap.cfg && ln -svf /etc/texmf/dvips/config/config.ps /usr/share/texmf/dvips/config/config.ps && ln -svf tex /usr/bin/virtex && ln -svf pdftex /usr/bin/pdfvirtex
As root, execute the texmf-update script:
texmf-update
Create symlinks from format files to engines:
for i in /usr/share/texmf/fmtutil/format*.cnf; do
[ -f "${i}" ] && texlinks -v -f "${i}"
done
Copy in the remaining texmf entries from tlnet:
cp -rv ../texmf ../texmf-dist /usr/share
Contents
| Installed Directories: | /etc/texmf |
|---|---|
| Installed Programs: | |
| Installed Libraries: |