TeXLive
Contents
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: |