![]() | Name | Last modified | Size |
---|---|---|---|
![]() | Parent Directory | - | |
![]() | Images/ | 2016-04-16 06:42 | - |
![]() | README.html | 2020-02-26 15:16 | 71K |
![]() | SYS.texlive-2016.csh | 2016-09-05 19:28 | 6.7K |
![]() | SYS.texlive-2016.sh | 2016-09-05 19:29 | 5.6K |
![]() | bin/ | 2016-09-06 05:44 | - |
![]() | build-asymptote.sh | 2016-06-13 08:21 | 3.3K |
![]() | build-texlive-2016.sh | 2016-09-05 19:36 | 46K |
![]() | ftp.math.utah.edu.pdf | 2016-05-12 10:31 | 125K |
![]() | make-texlive-binary-distributions.sh | 2016-04-29 08:26 | 1.2K |
![]() | make-texlive-snapshot-2016.sh | 2016-03-28 15:54 | 1.2K |
![]() | old/ | 2016-03-29 17:15 | - |
![]() | show-file-counts.sh | 2016-04-01 10:27 | 1.0K |
![]() | show-lib-deps.sh | 2016-04-26 07:12 | 1.3K |
![]() | show-texlive-libs.sh | 2016-06-17 12:10 | 2.0K |
![]() | tlpretest/ | 2016-06-05 10:50 | - |
![]() | www.math.utah.edu.pdf | 2016-05-12 10:32 | 105K |
TeX Live 2016 was officially released on 22 May 2016, with master ISO DVD images available here at the TUG North American master mirror in Utah, and via links to numerous regional mirrors at the worldwide master TUG site in Paris, France. The Utah pretest site below serves as a historical record of development, and includes binary distributions for many more platforms than are included on the DVD. The Utah site continues to receive updates as TeX Live 2016 is built on even more systems. Those binary distributions are now mirrored at http://ctan.ijs.si/mirror/texlive/texlive-bin/ (Slovenia) and http://ftp.linux.cz/pub/tex/local/texlive-bin/ (Czech Republic). For the latter, you can also replace http: by ftp: or rsync:. |
Although most vendor distributions for Unix-like systems include TeX Live in (usually many) optional packages, their offerings are often two to five years behind. You should have no difficulty in doing your own TeX Live 2016 installation from the DVD or ISO images, and then, if your platform is not supported by a suitable bin subdirectory on the DVD, copying one from this site into that location. For example, you might eventually have /your/choice/here/texlive/2016/bin/x86_64-kfreebsd-7 and all that you then need to do is place that directory into your PATH variable ahead of any other directory that might contain an alternate TeX implementation. TeX Live releases are always engineered to be installable under any desired filesystem location; all file references by software within the tree are relative to the texlive component in the pathname. A four-digit year is always the next path component, making it easy to have multiple TeX Live yearly versions installed without any possibility of conflict. |
Original version:
Tue Mar 29 17:05:32 2016
Last updates:
...
Tue Sep 6 08:22:34 2016
This directory contains files created in support of building and using a pre-release of the TeX Live 2016 distribution, expected to be available on DVD and the Internet in mid-summer 2016.
A test lab at this site has scores of flavors of Unix on which TeX Live builds are attempted, and the scripts named *2016*sh in this directory are those used by the local developer.
The intent of the build-texlive-2016.sh script is that it should setup the build environment on each platform, and then run the internal Build script to carry out the build. Unfortunately, this is not always possible: we find on some platforms that it is first necessary to rename the /usr/local or /usr/uumath trees to hide locally-installed packages, header files, and libraries from the TeX Live build. See elsewhere for an explication of why we scrupulously avoid the GNU default prefix of /usr/local on new systems.
The scripts in this directory are likely to change during the spring build season for TeX Live 2016 as more platforms are successfully supported.
As of 6 September 2016, the following builds have been successful:
406 amd64-bitrig-1.0 408 amd64-desktopbsd17 414 amd64-freebsd 406 amd64-ghostbsd-10 408 amd64-netbsd 415 armel-linux 415 armhf-linux 410 armv7l-linux-arch 414 i386-freebsd 408 i386-freebsd-9.1 408 i386-gnu-hurd 416 i386-linux 412 i386-linux-centos-5 409 i386-linux-fedora-20 412 i386-linux-fedora-20-utah 405 i386-linux-gobolinux 413 i386-linux-ubuntu-14 391 i386-linux-void 413 i386-netbsd 415 i386-openindiana-11 401 i386-pc-solaris2.11 411 i386-solaris 413 i386-solaris-11 367 ia64-linux-redhat-5 415 powerpc-linux 403 ppc64le-linux-centos-7 404 sparc-linux-debian-7 405 sparc-solaris 417 universal-darwin 408 x86-64-openindiana-11 416 x86_64-darwin 403 x86_64-dragonflybsd-38 403 x86_64-dragonflybsd-39 403 x86_64-dragonflybsd-40 403 x86_64-dragonflybsd-42 403 x86_64-dragonflybsd-44 403 x86_64-dragonflybsd-46 406 x86_64-freebsd-10 406 x86_64-freebsd-11 405 x86_64-freebsd-12 406 x86_64-hardenedbsd-11 411 x86_64-kfreebsd-7 405 x86_64-libertybsd 416 x86_64-linux 409 x86_64-linux-alpine-3.3 413 x86_64-linux-arch 413 x86_64-linux-centos-5 410 x86_64-linux-centos-6 416 x86_64-linux-centos-7 411 x86_64-linux-centos-7-clang 411 x86_64-linux-centos-7-gcc-6.1 411 x86_64-linux-centos-7-gcc-7.0 410 x86_64-linux-clearos-7 403 x86_64-linux-debian-6 415 x86_64-linux-debian-7 415 x86_64-linux-debian-8 410 x86_64-linux-debian-8t 415 x86_64-linux-debian-8u 406 x86_64-linux-elementaryos-0.4 415 x86_64-linux-fedora-21 415 x86_64-linux-fedora-22 415 x86_64-linux-fedora-23 413 x86_64-linux-fedora-24 414 x86_64-linux-fedora-rawhide 413 x86_64-linux-gentoo-2.2 402 x86_64-linux-kali-2 413 x86_64-linux-mageia-5 411 x86_64-linux-mint17 413 x86_64-linux-mint18 389 x86_64-linux-opensuse-12 415 x86_64-linux-opensuse-13 413 x86_64-linux-opensuse-42 413 x86_64-linux-opensuse-tw 407 x86_64-linux-oppenmandriva 410 x86_64-linux-oracle-7 415 x86_64-linux-pclinuxos-2016 413 x86_64-linux-salix-14 413 x86_64-linux-scientific-linux-6 413 x86_64-linux-scientific-linux-7 413 x86_64-linux-slackware-14 412 x86_64-linux-slackware-14.2 412 x86_64-linux-solus-1.2 413 x86_64-linux-ubuntu-15 416 x86_64-linux-ubuntu-16 412 x86_64-linux-ubuntu-16.10 412 x86_64-linux-ubuntu-devel 389 x86_64-linux-void 391 x86_64-linux-void-clang 410 x86_64-macosx-10.10 410 x86_64-macosx-10.11 403 x86_64-netbsd-6 401 x86_64-netbsd-7 399 x86_64-netbsd-8 408 x86_64-openbsd 406 x86_64-openbsd-54 406 x86_64-openbsd-55 409 x86_64-openbsd-56 408 x86_64-openbsd-57 403 x86_64-openbsd-58 408 x86_64-openbsd-59 407 x86_64-openbsd-60 407 x86_64-pcbsd-10 406 x86_64-solaris 405 x86_64-trueos Total: 104 systems Missing binaries [compared to x86_64-linux-pclinuxos-2016]: amd64-bitrig-1.0 : asy tex2xindy texindy xasy xindy xindy.mem xindy.run amd64-desktopbsd17 : tex2xindy texindy xindy xindy.mem xindy.run amd64-freebsd : asy xasy amd64-ghostbsd-10 : asy tex2xindy texindy xasy xindy xindy.mem xindy.run amd64-netbsd : asy tex2xindy texindy xasy xindy xindy.mem xindy.run armv7l-linux-arch : tex2xindy texindy xindy xindy.mem xindy.run i386-freebsd : asy xasy i386-freebsd-9.1 : tex2xindy texindy xindy xindy.mem xindy.run i386-gnu-hurd : tex2xindy texindy xindy xindy.mem xindy.run i386-linux-centos-5 : m-tx pmx2pdf i386-linux-fedora-20 : asy m-tx pmx2pdf xasy i386-linux-fedora-20-utah : asy pdfxup xasy i386-linux-gobolinux : asy tex2xindy texindy xasy xindy xindy.mem xindy.run i386-linux-void : cfftot1 dvigif dvipdfm dvipdfmx dvipdft dvipng dvisvgm ebb extractbb mmafm mmpfb otfinfo otftotfm t1dotlessj t1lint t1rawafm t1reencode t1testpage ttftotype42 xdvi xdvi-xaw xdvipdfmx i386-netbsd : asy xasy i386-pc-solaris2.11 : asy dvisvgm m-tx pdfxup pmx2pdf tex2xindy texindy xasy xindy xindy.mem xindy.run i386-solaris : tex2xindy texindy xindy xindy.mem xindy.run i386-solaris-11 : m-tx pmx2pdf xindy.run ia64-linux-redhat-5 : asy cfftot1 dvigif dvilualatex dviluatex dvipdfm dvipdfmx dvipdft dvipng dvisvgm ebb extractbb luajittex lualatex luatex m-tx mfluajit mfluajit-nowin mmafm mmpfb otfinfo otftotfm pmx2pdf t1dotlessj t1lint t1rawafm t1reencode t1testpage tex2xindy texindy texlua texluac texluajit texluajitc ttftotype42 xasy xdvi xdvi-xaw xdvipdfmx xelatex xetex xindy xindy.mem xindy.run ppc64le-linux-centos-7 : luajittex mfluajit mfluajit-nowin tex2xindy texindy texluajit texluajitc xindy xindy.mem xindy.run sparc-linux-debian-7 : asy luajittex m-tx mfluajit mfluajit-nowin pmx2pdf texluajit texluajitc xasy sparc-solaris : luajittex mfluajit mfluajit-nowin tex2xindy texindy texluajit texluajitc xindy xindy.mem xindy.run universal-darwin : xindy.mem x86-64-openindiana-11 : luajittex mfluajit mfluajit-nowin texluajit texluajitc x86_64-dragonflybsd-38 : asy luajittex tex2xindy texindy texluajit texluajitc xasy xindy xindy.mem xindy.run x86_64-dragonflybsd-39 : asy luajittex tex2xindy texindy texluajit texluajitc xasy xindy xindy.mem xindy.run x86_64-dragonflybsd-40 : asy luajittex tex2xindy texindy texluajit texluajitc xasy xindy xindy.mem xindy.run x86_64-dragonflybsd-42 : asy luajittex tex2xindy texindy texluajit texluajitc xasy xindy xindy.mem xindy.run x86_64-dragonflybsd-44 : asy luajittex tex2xindy texindy texluajit texluajitc xasy xindy xindy.mem xindy.run x86_64-dragonflybsd-46 : asy luajittex tex2xindy texindy texluajit texluajitc xasy xindy xindy.mem xindy.run x86_64-freebsd-10 : asy tex2xindy texindy xasy xindy xindy.mem xindy.run x86_64-freebsd-11 : asy tex2xindy texindy xasy xindy xindy.mem xindy.run x86_64-freebsd-12 : asy tex2xindy texindy xasy xindy xindy.mem xindy.run x86_64-hardenedbsd-11 : asy tex2xindy texindy xasy xindy xindy.mem xindy.run x86_64-kfreebsd-7 : tex2xindy texindy xindy xindy.mem xindy.run x86_64-libertybsd : asy tex2xindy texindy xasy xindy xindy.mem xindy.run x86_64-linux-alpine-3.3 : asy m-tx pmx2pdf xasy x86_64-linux-centos-6 : tex2xindy texindy xindy xindy.mem xindy.run x86_64-linux-centos-7-clang : m-tx pmx2pdf x86_64-linux-centos-7-gcc-6.1 : m-tx pmx2pdf x86_64-linux-centos-7-gcc-7.0 : m-tx pmx2pdf x86_64-linux-clearos-7 : tex2xindy texindy xindy xindy.mem xindy.run x86_64-linux-debian-6 : asy m-tx pdfxup pmx2pdf teckit_compile xasy xelatex xetex x86_64-linux-debian-8t : tex2xindy texindy xindy xindy.mem xindy.run x86_64-linux-elementaryos-0.4 : dvipdfm dvipdfmx dvipdft ebb extractbb xdvipdfmx x86_64-linux-kali-2 : dvipdfm dvipdfmx dvipdft ebb extractbb tex2xindy texindy xdvipdfmx xindy xindy.mem xindy.run x86_64-linux-mint17 : asy xasy x86_64-linux-opensuse-12 : cfftot1 dvigif dvipdfm dvipdfmx dvipdft dvipng dvisvgm ebb extractbb m-tx mmafm mmpfb otfinfo otftotfm pmx2pdf t1dotlessj t1lint t1rawafm t1reencode t1testpage ttftotype42 xdvi xdvi-xaw xdvipdfmx x86_64-linux-oppenmandriva : dvipdfm dvipdfmx dvipdft ebb extractbb xdvipdfmx x86_64-linux-oracle-7 : tex2xindy texindy xindy xindy.mem xindy.run x86_64-linux-ubuntu-devel : xasy x86_64-linux-void : asy cfftot1 dvigif dvipdfm dvipdfmx dvipdft dvipng dvisvgm ebb extractbb mmafm mmpfb otfinfo otftotfm t1dotlessj t1lint t1rawafm t1reencode t1testpage ttftotype42 xasy xdvi xdvi-xaw xdvipdfmx x86_64-linux-void-clang : cfftot1 dvigif dvipdfm dvipdfmx dvipdft dvipng dvisvgm ebb extractbb mmafm mmpfb otfinfo otftotfm t1dotlessj t1lint t1rawafm t1reencode t1testpage ttftotype42 xdvi xdvi-xaw xdvipdfmx x86_64-macosx-10.10 : tex2xindy texindy xindy xindy.mem xindy.run x86_64-macosx-10.11 : tex2xindy texindy xindy xindy.mem xindy.run x86_64-netbsd-6 : bibtexu teckit_compile tex2xindy texindy xelatex xetex xindy xindy.mem xindy.run x86_64-netbsd-7 : bibtexu m-tx pmx2pdf teckit_compile tex2xindy texindy xelatex xetex xindy xindy.mem xindy.run x86_64-netbsd-8 : asy bibtexu m-tx pmx2pdf teckit_compile tex2xindy texindy xasy xelatex xetex xindy xindy.mem xindy.run x86_64-openbsd : tex2xindy texindy xindy xindy.mem xindy.run x86_64-openbsd-54 : m-tx pmx2pdf tex2xindy texindy xindy xindy.mem xindy.run x86_64-openbsd-55 : m-tx pmx2pdf tex2xindy texindy xindy xindy.mem xindy.run x86_64-openbsd-56 : tex2xindy texindy xindy xindy.mem xindy.run x86_64-openbsd-57 : tex2xindy texindy xindy xindy.mem xindy.run x86_64-openbsd-58 : asy m-tx pdfxup pmx2pdf tex2xindy texindy xasy xindy xindy.mem xindy.run x86_64-openbsd-59 : tex2xindy texindy xindy xindy.mem xindy.run x86_64-openbsd-60 : tex2xindy texindy xindy xindy.mem xindy.run x86_64-pcbsd-10 : m-tx pmx2pdf tex2xindy texindy xindy xindy.mem xindy.run x86_64-solaris : luajittex mfluajit mfluajit-nowin tex2xindy texindy texluajit texluajitc xindy xindy.mem xindy.run x86_64-trueos : asy tex2xindy texindy xasy xindy xindy.mem xindy.run
The first column in the first table is the number of installed executables, and the second column is the CPU architecture, base operating system, distribution, and optional version.
Of those directories, the following were obtained as part of the pre-test installation (described below):
amd64-freebsd i386-cygwin i386-solaris win32 x86_64-solaris amd64-netbsd i386-freebsd powerpc-linux x86_64-cygwin armel-linux i386-linux sparc-solaris x86_64-darwin armhf-linux i386-netbsd universal-darwin x86_64-linux
All others have been built at the University of Utah, almost entirely in facilities of the Department of Mathematics, with an additional build for ppc64le-linux-centos-7 done on a system kindly made available by the Center for High Performance Computing .
Only about 2/3 of the binary distributions have asy, biber, and xasy. Those tools are usually under active development, and take special extra effort to build, so they are normally not built until late in the pre-test work. If you need them before the official TeX Live 2016 release, you can find instructions for building them in your own TeX Live 2016 tree here.
The missing xindy binaries in about half of the binary distributions are due to a lack of clisp, or a clisp that exists, but does not run properly. Sadly, that important implementation of ISO Common Lisp has not been maintained for about six years, and there are several systems at this site on which it fails to build, or builds, but seriously fails its validation suite.
ArchLinux (arch), PCLinuxOS (pclinuxos, and OpenSUSE Tumbleweed (opensuse-tw) do not have version numbers: they use a rolling-update model, and once updates have run, the systems are at the latest available software levels.
It may also be of interest to record the library dependencies of all of the executables in one of the binary directories:
./show-lib-deps.sh x86_64-linux-fedora-22 Library dependencies of TeX Live executables in x86_64-linux-fedora-22: ld-linux-x86-64 afm2pl afm2tfm aleph amstex autosp bbox bg5conv bibtex bibtex8 bibtexu cef5conv cefconv cefsconv cfftot1 chktex cslatex csplain ctangle ctie cweave detex devnag disdvi dt2dv dv2dt dvi2tty dvibook dviconcat dvicopy dvidvi dvigif dvilj dvilj2p dvilj4 dvilj4l dvilj6 dvilualatex dviluatex dvipdfm dvipdfmx dvipng dvipos dvips dviselect dvisvgm dvitodvi dvitomp dvitype ebb eplain epsffit eptex etex euptex extconv extractbb gftodvi gftopk gftype gregorio gsftopk hbf2gf inimf inimflua inimfluajit initex jadetex kpseaccess kpsereadlink kpsestat kpsewhich lacheck lamed latex lollipop luajittex lualatex lualollipop luatex mag makeindex makejvf mendex mex mf mf-nowin mflua mflua-nowin mfluajit mfluajit-nowin mfplain mft mllatex mltex mmafm mmpfb mpost msxlint odvicopy odvitype ofm2opl omfonts opl2ofm otangle otfinfo otftotfm otp2ocp outocp ovf2ovp ovp2ovf patgen pbibtex pdfclose pdfcslatex pdfcsplain pdfetex pdfjadetex pdflatex pdfmex pdfopen pdftex pdftosrc pdfxmltex pdvitomp pdvitype pfb2pfa pk2bm pktogf pktype platex pltotf pmpost pmxab pooltype ppltotf prepmx ps2pk psbook psnup psresize psselect pstops ptex ptftopl scor2prt sjisconv synctex t1ascii t1asm t1binary t1disasm t1dotlessj t1lint t1mac t1rawafm t1reencode t1testpage t1unmac t4ht tangle teckit_compile tex tex2xindy tex4ht texlua texluac texluajit texluajitc texsis tftopl tie ttf2afm ttf2pk ttf2tfm ttfdump ttftotype42 upbibtex updvitomp updvitype uplatex upmendex upmpost uppltotf uptex uptftopl utf8mex vftovp vlna vptovf weave wofm2opl wopl2ofm wovf2ovp wovp2ovf xdvi-xaw xdvipdfmx xelatex xelollipop xetex xindy.run xmltex libICE inimf inimflua inimfluajit mf mflua mflua-nowin mfluajit mfluajit-nowin pdfclose pdfopen xdvi-xaw libSM inimf inimflua inimfluajit mf mflua mflua-nowin mfluajit mfluajit-nowin pdfclose pdfopen xdvi-xaw libX11 inimf inimflua inimfluajit mf mflua mflua-nowin mfluajit mfluajit-nowin pdfclose pdfopen xdvi-xaw libXau inimf inimflua inimfluajit mf mflua mflua-nowin mfluajit mfluajit-nowin pdfclose pdfopen xdvi-xaw libXaw xdvi-xaw libXext inimf inimflua inimfluajit mf mflua mflua-nowin mfluajit mfluajit-nowin pdfclose pdfopen xdvi-xaw libXmu pdfclose pdfopen xdvi-xaw libXpm xdvi-xaw libXt pdfclose pdfopen xdvi-xaw libc afm2pl afm2tfm aleph amstex autosp bbox bg5conv bibtex bibtex8 bibtexu cef5conv cefconv cefsconv cfftot1 chktex cslatex csplain ctangle ctie cweave detex devnag disdvi dt2dv dv2dt dvi2tty dvibook dviconcat dvicopy dvidvi dvigif dvilj dvilj2p dvilj4 dvilj4l dvilj6 dvilualatex dviluatex dvipdfm dvipdfmx dvipng dvipos dvips dviselect dvisvgm dvitodvi dvitomp dvitype ebb eplain epsffit eptex etex euptex extconv extractbb gftodvi gftopk gftype gregorio gsftopk hbf2gf inimf inimflua inimfluajit initex jadetex kpseaccess kpsereadlink kpsestat kpsewhich lacheck lamed latex lollipop luajittex lualatex lualollipop luatex mag makeindex makejvf mendex mex mf mf-nowin mflua mflua-nowin mfluajit mfluajit-nowin mfplain mft mllatex mltex mmafm mmpfb mpost msxlint odvicopy odvitype ofm2opl omfonts opl2ofm otangle otfinfo otftotfm otp2ocp outocp ovf2ovp ovp2ovf patgen pbibtex pdfclose pdfcslatex pdfcsplain pdfetex pdfjadetex pdflatex pdfmex pdfopen pdftex pdftosrc pdfxmltex pdvitomp pdvitype pfb2pfa pk2bm pktogf pktype platex pltotf pmpost pmxab pooltype ppltotf prepmx ps2pk psbook psnup psresize psselect pstops ptex ptftopl scor2prt sjisconv synctex t1ascii t1asm t1binary t1disasm t1dotlessj t1lint t1mac t1rawafm t1reencode t1testpage t1unmac t4ht tangle teckit_compile tex tex2xindy tex4ht texlua texluac texluajit texluajitc texsis tftopl tie ttf2afm ttf2pk ttf2tfm ttfdump ttftotype42 upbibtex updvitomp updvitype uplatex upmendex upmpost uppltotf uptex uptftopl utf8mex vftovp vlna vptovf weave wofm2opl wopl2ofm wovf2ovp wovp2ovf xdvi-xaw xdvipdfmx xelatex xelollipop xetex xindy.run xmltex libcrypt xindy.run libdl dvilualatex dviluatex dvisvgm inimf inimflua inimfluajit luajittex lualatex lualollipop luatex mf mflua mflua-nowin mfluajit mfluajit-nowin pdfclose pdfopen texlua texluac texluajit texluajitc xdvi-xaw xindy.run libexpat xelatex xelollipop xetex libfontconfig xelatex xelollipop xetex libfreebl3 xindy.run libfreetype xelatex xelollipop xetex libgcc_s amstex bibtexu cfftot1 cslatex csplain dvilualatex dviluatex dvisvgm eplain etex inimfluajit jadetex latex lollipop luajittex lualatex lualollipop luatex mex mfluajit mfluajit-nowin mllatex mltex mmafm mmpfb otfinfo otftotfm pdfcslatex pdfcsplain pdfetex pdfjadetex pdflatex pdfmex pdftex pdftosrc pdfxmltex t1dotlessj t1lint t1rawafm t1reencode t1testpage teckit_compile texlua texluac texluajit texluajitc texsis ttftotype42 upmendex utf8mex xelatex xelollipop xetex xindy.run xmltex libm afm2pl afm2tfm aleph amstex autosp bbox bg5conv bibtex bibtex8 bibtexu cef5conv cefconv cefsconv cfftot1 chktex cslatex csplain ctangle ctie cweave detex devnag disdvi dt2dv dv2dt dvi2tty dvibook dviconcat dvicopy dvidvi dvigif dvilj dvilj2p dvilj4 dvilj4l dvilj6 dvilualatex dviluatex dvipdfm dvipdfmx dvipng dvipos dvips dviselect dvisvgm dvitodvi dvitomp dvitype ebb eplain epsffit eptex etex euptex extconv extractbb gftodvi gftopk gftype gregorio gsftopk hbf2gf inimf inimflua inimfluajit initex jadetex kpseaccess kpsereadlink kpsestat kpsewhich lacheck lamed latex lollipop luajittex lualatex lualollipop luatex mag makeindex makejvf mendex mex mf mf-nowin mflua mflua-nowin mfluajit mfluajit-nowin mfplain mft mllatex mltex mmafm mmpfb mpost msxlint odvicopy odvitype ofm2opl omfonts opl2ofm otangle otfinfo otftotfm otp2ocp outocp ovf2ovp ovp2ovf patgen pbibtex pdfclose pdfcslatex pdfcsplain pdfetex pdfjadetex pdflatex pdfmex pdfopen pdftex pdftosrc pdfxmltex pdvitomp pdvitype pfb2pfa pk2bm pktogf pktype platex pltotf pmpost pmxab pooltype ppltotf prepmx ps2pk psbook psnup psresize psselect pstops ptex ptftopl scor2prt sjisconv synctex t1ascii t1asm t1binary t1disasm t1dotlessj t1lint t1mac t1rawafm t1reencode t1testpage t1unmac t4ht tangle teckit_compile tex tex2xindy tex4ht texlua texluac texluajit texluajitc texsis tftopl tie ttf2afm ttf2pk ttf2tfm ttfdump ttftotype42 upbibtex updvitomp updvitype uplatex upmendex upmpost uppltotf uptex uptftopl utf8mex vftovp vlna vptovf weave wofm2opl wopl2ofm wovf2ovp wovp2ovf xdvi-xaw xdvipdfmx xelatex xelollipop xetex xindy.run xmltex libncurses xindy.run libpthread xelatex xelollipop xetex libreadline xindy.run libsigsegv xindy.run libstdc++ amstex bibtexu cfftot1 cslatex csplain dvilualatex dviluatex dvisvgm eplain etex jadetex latex lollipop luajittex lualatex lualollipop luatex mex mllatex mltex mmafm mmpfb otfinfo otftotfm pdfcslatex pdfcsplain pdfetex pdfjadetex pdflatex pdfmex pdftex pdftosrc pdfxmltex t1dotlessj t1lint t1rawafm t1reencode t1testpage teckit_compile texlua texluac texluajit texluajitc texsis ttftotype42 upmendex utf8mex xelatex xelollipop xetex xmltex libtinfo xindy.run libuuid inimf inimflua inimfluajit mf mflua mflua-nowin mfluajit mfluajit-nowin pdfclose pdfopen xdvi-xaw libxcb inimf inimflua inimfluajit mf mflua mflua-nowin mfluajit mfluajit-nowin pdfclose pdfopen xdvi-xaw linux-vdso afm2pl afm2tfm aleph amstex autosp bbox bg5conv bibtex bibtex8 bibtexu cef5conv cefconv cefsconv cfftot1 chktex cslatex csplain ctangle ctie cweave detex devnag disdvi dt2dv dv2dt dvi2tty dvibook dviconcat dvicopy dvidvi dvigif dvilj dvilj2p dvilj4 dvilj4l dvilj6 dvilualatex dviluatex dvipdfm dvipdfmx dvipng dvipos dvips dviselect dvisvgm dvitodvi dvitomp dvitype ebb eplain epsffit eptex etex euptex extconv extractbb gftodvi gftopk gftype gregorio gsftopk hbf2gf inimf inimflua inimfluajit initex jadetex kpseaccess kpsereadlink kpsestat kpsewhich lacheck lamed latex lollipop luajittex lualatex lualollipop luatex mag makeindex makejvf mendex mex mf mf-nowin mflua mflua-nowin mfluajit mfluajit-nowin mfplain mft mllatex mltex mmafm mmpfb mpost msxlint odvicopy odvitype ofm2opl omfonts opl2ofm otangle otfinfo otftotfm otp2ocp outocp ovf2ovp ovp2ovf patgen pbibtex pdfclose pdfcslatex pdfcsplain pdfetex pdfjadetex pdflatex pdfmex pdfopen pdftex pdftosrc pdfxmltex pdvitomp pdvitype pfb2pfa pk2bm pktogf pktype platex pltotf pmpost pmxab pooltype ppltotf prepmx ps2pk psbook psnup psresize psselect pstops ptex ptftopl scor2prt sjisconv synctex t1ascii t1asm t1binary t1disasm t1dotlessj t1lint t1mac t1rawafm t1reencode t1testpage t1unmac t4ht tangle teckit_compile tex tex2xindy tex4ht texlua texluac texluajit texluajitc texsis tftopl tie ttf2afm ttf2pk ttf2tfm ttfdump ttftotype42 upbibtex updvitomp updvitype uplatex upmendex upmpost uppltotf uptex uptftopl utf8mex vftovp vlna vptovf weave wofm2opl wopl2ofm wovf2ovp wovp2ovf xdvi-xaw xdvipdfmx xelatex xelollipop xetex xindy.run xmltex
xz-compressed tar files for each of the binary trees can be found here . They are about 60% of the size of corresponding gz-compressed files, both at maximal compression level -9. They would normally be unpacked in the directory path /path/to/texlive/2016/bin. After installing them, it is likely necessary to update the TeX preloaded memory-image files, *.fmt, by running the command ./fmtutil-sys --all in the just-unpacked directory. Those files are TeX-Live-release dependent, but platform-independent, so if you unpack multiple binary trees that are shared across different systems, you only need to regenerate them once.
Binaries can often be shared with O/S releases of higher levels, and binaries for the oldest GNU/Linux release have a good chance of running on other GNU/Linux distributions for the same CPU family. That works as long as Linux kernel and system library versions are upward compatible. Thus, a CentOS 5 binary will likely run on CentOS 6 and CentOS 7, but also on Debian, OpenSUSE, Ubuntu, and other distributions. Similarly, Solaris 10 binaries run just fine on Solaris 11.
As an experiment, on CentOS 5 and 6 on x86-64, I attempted to run the TeX executable from all of the 2016 binaries: 41 of them worked. The same experiment with CentOS 7 x86-64 found 43 working.
Once an installation is complete for a given platform, a user can switch to it by executing one of these scripts:
### assume prefix=/usr/local (but trivially changeable at each site) ### csh and tcsh login shells source $prefix/skel/SYS.texlive-2016.csh ### ash, bash, dash, ksh, pdksh, sh, and sh login shells ### (POSIX-compliant, or supersets thereof) . $prefix/skel/SYS.texlive-2016.sh
Those scripts redefine certain TeXware environment values to new ones suitable for use with TeX Live, and they reset the PATH to put the 2016 release first, ahead of any local, older TeX Live, or vendor-supplied installations of TeX.
As of 16-Apr-2016, files are available here for installing the TeX Live 2016 pre-test on your system. At our site, I did it like this:
cd /some/suitable/path mkdir -p texlive/2016 cd texlive/2016 wget http://www.math.utah.edu/pub/texlive/tlpretest/install-tl-unx.tar.gz tar xf install-tl-unx.tar.gz ./install-tl-20160417/install-tl -repository http://www.math.utah.edu/pub/texlive/tlpretest
In the terminal-window setup screens that appear following that last command, I chose a suitable paper size (O option), selected an installation directory (D option), chose the binary distributions (B option), and then typed I to begin the installation.
The repository on the last command is remembered in an installed file, so it is unlikely that it would ever be changed, except possibly on a mobile device that travels internationally.
Every few days, I update my TeX Live 2016 pre-test installation tree like this on my CentOS 7 workstation:
PATH=/path/to/texlive/2016/bin/x86_64-linux-centos-7:$PATH export PATH ### Update TeX Live Manager itself (this usually does nothing) tlmgr update --self ### Update TeX Live 2016 tree tlmgr update --all
Obviously, those commands are good candidates for hiding in a wrapper script. If you add an invocation of that script to your crontab(1) file, it then runs automatically at intervals that you specify in that file, and sends its output in e-mail to you.
Here is an example crontab file entry that does just that, dispensing with a wrapper script, and running the update every Sunday morning at 3:15am local time (the #-initiated comments are part of my crontab file as a reminder of the field order and meaning):
# 00-59 00-23 01-31 01-12 0-6(0=Sunday) # mm hh dd mon weekday command 15 3 * * 0 ( PATH=/path/to/texlive/2016/bin/x86_64-linux-centos-7:/bin:/usr/bin ; export PATH ; tlmgr update --self ; tlmgr update --all )
Change the weekday field from 0 to * to make the job run daily. Change it to 1,3,5 to run it Monday, Wednesday, and Friday. Such jobs are usually best run at off-peak hours at both your site, and the repository site. Our site in Utah is on US Mountain Time (UTC/GMT - 6 hours in summer, UTC/GMT - 7 hours in winter).
Donald Knuth's TeX and METAFONT, and their associated TeXware and MFware programs and data files, have proven extraordinarily robust over about 35 years of use, and have been ported to most commercially-important machine architectures (operating systems and CPUs), from mobile devices to supercomputers. Their original code is in Web, a literate-programming language that can be processed by tangle and weave to produce a Pascal program file and a TeX file that documents the software.
Pascal no longer enjoys the popularity that it did when Knuth chose it as his second implementation language, and C is now the most widely available language that continues to be used for much of the world's software. Thus, for about 25 years, the Pascal source has been translated automatically to the C language by a special utility.
Most other software related to TeX and Metafont written since then has been in C, C++, Fortran, Java, and Common Lisp, in the Unix/POSIX shell, sh, and in scripting languages like awk, javascript, lua, perl, and python. It is rare to find a system where TeX and METAFONT themselves cannot be built.
A modern TeX Live distribution continues much more than just TeX and METAFONT. On top of those two programs, each about 20_000 lines of Pascal, stands a TeX Live source tree with about 2000 directories, 26_000 files, 250 Makefiles, and 100 GNU-style configure scripts. The binary subdirectory for each platform contains up to 415 programs. The total amount of source code just in the four main languages is over 4_000_000 lines. Programs in the scripting languages contribute another 1_220_000 lines. In addition, in the final TeX Live installation tree, there are about 4_350_000 lines of code in the TeX macro language. In round figures, there are about ten million lines of code in TeX Live!
Many of the source packages that are built and included with TeX Live distributions are handled independently by other developers outside the TeX world, and the job of the TeX Live team each year is to find out by actual build experience how many of the latest releases of those other packages have build issues, or platform dependence, or nasty CPU-architecture assumptions.
In view of those observations, it should be no surprise that the annual TeX Live production takes team members about three months of hard work, and that there are numerous platforms where builds are only partially successful, and thus, some programs are missing from the binary subdirectories, as illustrated by the large table near the beginning of this Web page.
For the TeX Live 2016 release, here are the reasons for some of failures:
% cd /local/build/bare/texlive-20160509/source/Work/texk % ls /usr/lib/libexpat* /usr/lib/libexpat.a /usr/lib/libexpat.la /usr/lib/libexpat.so % ls /usr/lib/libfreet* /usr/lib/libfreetype.so /usr/lib/libfreetype.so.6.3.10 /usr/lib/libfreetype.so.6 % make LIBS='-Bstatic -lexpat -Bdynamic -lfreetype -lm'
On GNU/Linux Knoppix 7.6.0 x86, the configuration process fails because -lXmu is not available. Unfortunately, the Knoppix package system is currently broken because of dependency errors that prevent upgrading or installing new software. Sometimes, it is possible to remove the offending older package that is preventing installing a newer one, but on Knoppix, all such attempts have so far failed. Such problems have been seen on several other package systems as well, and usually eventually get resolved at the distribution end.
In the meantime, I have used apt-get download to fetch the needed *.deb installation files, and then ran dpkg -i to force their installation outside the package management system. That allows the configuration process to complete, and TeX Live compilations to begin. However, they later foundered with more missing packages, and attempts to remove and reinstall numerous dependencies ultimately failed.
Knoppix 7.7.0 was announced at the CeBIT conference in mid-March 2016, but as of the time of writing this, no DVD or ISO image is available for installing it.
On several systems, Asymptote fails to compile, getting fatal compilation errors like this:
/usr/uumath/ashare/gcc/gcc-6.1.0/include/c++/6.1.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options. In file included from common.h:35:0, from camperror.h:16, from camperror.cc:14:
Although asymptote records the values of CC and CXX in the Makefile, it uses passes CFLAGS, rather than CXXFLAGS, to the CXX compiler! The CFLAGS value, which I had not set, gets the -ansi option supplied by configure, and that option sets __cplusplus = 199711L. The above header file has the test
#if __cplusplus < 201103L #error This file requires compiler and library support \ for the ISO C++ 2011 standard. This support must be enabled \ with the -std=c++11 or -std=gnu++11 compiler options. #endif
and even though gcc-6.1.0 initializes __cplusplus to 201402L, the subsequent -ansi flag reverts that to 199711L.
The Asymptote Makefile does not use the standard LDFLAGS value to pass linker options; it does that with a variable named LFLAGS that appears in these Makefile assignments:
LFLAGS = LIBS = $(LFLAGS) -lglut -lGLU -lGL -lreadline -lrt -lz -lm -lncurses $(GCLIBS)
The problem with g++ is that each version has its own -lstdc++, usually incompatible with those of other g++ compiler versions. Thus, if you use a nonnative g++ compiler, the executables produced will have references to libstdc++.o in locations likely unknown at other sites.
The best solution to that problem seems to be to add the compiler option -static-libstdc++ (valid since gcc-4.9) to eliminate the run-time reference to the compiler-dependent shared library.
On GNU/Linux OpenMandriva Lx 2014.0 (Phosphorus), the top-level configuration hangs because of an infinite loop in a system script:
% /usr/bin/freetype-config --version /usr/bin/freetype-config: line 24: multiarch-platform: command not found /usr/bin//freetype-config: line 24: multiarch-platform: command not found ...
There are numerous reports of that bug on the Web, but no obvious solution. I can find no package to supply the missing command. I then tried removing and reinstalling the freetype packages, and that removed the looping command. Another round of updates restored that command, so I permanently renamed it. A fresh build got much further, but then died in building dvipdfm-x. Another try with the configure option --disable-dvipdfm-x finally got a successful build, including asy and xindy.
On Void Linux (both 32-bit and 64-bit versions), the shell, /bin/sh, is a symlink to /bin/dash, rather than to /bin/bash. The shell difference breaks the libs/zziplib portion of the build, because sed is run with control characters (C-a and C-b) in substitution patterns, and those characters are wrongly inserted into the generated libs/zziplib/include/zzip/_config.h. I was able to repair the problem by using bash to redo the configuration:
% cd texlive-20160513/source/Work/libs/zziplib % bash config.status
I then restarted the build with make world -i -k. That completed, but failed to build several executables listed in the missing-table entries above.
I also tried setting SHELL=/bin/bash at configure time, but that does not help, because the config.status file internally requests /bin/sh in its first line.
Our freshly-installed DesktopBSD 1.7 on x86-64 contains all of the tools needed to build TeX Live 2016, except for clisp, which is not installed. That compiler builds from source code, but fails its validation suite. There was one source code compilation failure in asymptote: an initializer that refers to the function call nan(""). Once I commented out that line, asymptote built successfully.
DesktopBSD 1.7 is based on FreeBSD 7.2 (2009 vintage). DesktopBSD 2.0 is in development, and should move the FreeBSD base nearer to the current level (version 11.0).
GhostBSD 10.3 is one of the most recently-added systems to our virtual machine (VM) farm. We have now done about 60 VM installations, and GhostBSD has been the simplest: only a few installation panels need user-supplied data, and then the VM is ready to reboot and run. GhostBSD supports both UFS and ZFS for the root filesystem; we chose ZFS to have easy filesystem snapshots.
TeX Live 2016 built without problems, although clisp is not available for xindy, and Asymptote gets compilation failures.
Attempts to build clisp on GhostBSD fail: the code initially builds, but attempts to use it fail with ./lisp.run: Not enough memory for Lisp, even with the stacksize increased to 512MB (normally, 32MB suffices for this program).
The binary software packages available on GhostBSD are mostly fairly recent versions, and include the major GNU packages. The default C compiler, cc is clang-3.4.1, and gcc is gcc-4.8.5. However, the recent clang-3.8.1, gcc-5.3.1, and gcc-6.0.0 are all available in the package system for optional installation.
64-bit GhostBSD can run most 32-bit GNU/Linux executables out-of-the-box without further package installations, but cannot yet run 64-bit GNU/Linux executables.
Bitrig 1.0 is a derivative of OpenBSD, with default C/C++ compilers from LLVM + Clang, and more-modern packages than supplied by the conservative OpenBSD family. Bitrig advertizes itself as GNU-package free, except for texinfo. However, although GNUware is not installed by default, there are many GNU packages included in the collection of 7233 binary packages installable by the pkg_add command. I installed many of them, including the gcc-4.8.3 compilers, which I used in the initial build attempt, because of past experience with GNU-compiler dependence in some of the supporting TeX Live packages.
An attempt to build TeX Live 2016 on Bitrig 1.0 (a derivative of OpenBSD, with LLVM + Clang compilers, and more modern packages) initially failed in the libicu package with unresolved references to library symbols, such as u_errorName_57. A search of installed libraries found the related symbol u_errorName_53 in -licuuc, suggesting a conflict between versions of the ICU package. The Bitrig package system supplies ICU version icu4c-53.1p1, and also TeX Live 2013.
I then made the experiment of temporarily uninstalling that package, and all those that depend on it (some of which I needed for other software). A fresh build then got much further, including the TeX executables, but died in the installation target with
libtool: install: strip --strip-debug /home/local/build/bare/texlive-20160513/source/inst/lib/x86_64-unknown-bitrig1.0/libkpathsea.a strip: /home/local/build/bare/texlive-20160513/source/inst/lib/x86_64-unknown-bitrig1.0/st3k4PS9/libpng.a: Invalid operation
I restarted the build in the Work directory with make world -i -k to ignore further errors, and that completed the build, producing 406 executables in the binary subdirectory inst/bin/x86_64-unknown-bitrig1.0.
A subsequent attempt to build Asymptote failed with this error:
gmake: *** No rule to make target 'gc-7.4.2/.libs/libgc.a', needed by 'version'. Stop.
I then tried to use make -i -k in the Asymptote directory, but that just produced an infinite loop of rebuild attempts. Asymptote is not in the Bitrig package collection.
I then made a fresh build attempt with the native LLVM + Clang compilers. That failed in the LuaJIT package with C++ linker errors. I added the configuration flags --disable-luajittex and --disable-mfluajit and tried again. That failed in the dvisvgm package with
configure: error: Sorry, your kpathsea headers are too old
At that point, I gave up on the LLVM + Clang compilers on Bitrig, and reinstalled the temporarily-removed packages that caused build conflicts.
Numerous attempts to build TeX Live 2016 on Dragora 2.2 Linux failed. The first issue is that /bin/sh is a symlink to /bin/dash, with the same failure in libs/zziplib as on Void Linux. The same workaround got past that problem, but later, dvipdfmx, dvipng, dvisvgm, and the kpathsea library all failed to build. The three DVI drivers can be disabled, but building without kpathsea is not desirable.
Fortunately, the executables in the TeX Live 2016 bin/x86_64-linux directory appear to work on Dragora 2.2, and have been installed on that system.
I created a new virtual machine on 28 June 2016 for Fedora Rawhide, the rolling-release bleeding edge of Fedora development. No ISO images were available, but the VM was created from a clone of the Fedora 24 virtual disk, followed by installation of the small Rawhide repository package, and then a massive update of new packages from that repository. On completion of the updates, the system identifies itself as Fedora release 25 (Rawhide). The default /usr/bin/gcc compiler version is 6.1.1 (20160621).
The build of the main part of TeX Live 2016 was problem free, but Asymptote failed to compile because of its erroneous inclusion of the -ansi value in CFLAGS, and then using CFLAGS instead of CXXFLAGS for C++ compilations, as discussed above. The simplest solution was to remove -ansi from every file under the asymptote directory, then build Asymptote with CXX='/usr/bin/c++ -std=c++11'.
The binary directory x86_64-linux-fedora-rawhide has 414 executables.
The GNU/Linux distributions Alpine, Archlinux, Kali, and OpenSUSE Tumbleweed, and the Solaris OpenIndiana-based Hipster, all use a rolling-update model, so that, once updated, they can have the latest versions of anything released by the distribution developers. As noted in the preceding list item, Fedora Rawhide also provides such a system.
There has not been an official rolling-update flavor of Ubuntu, but the Web site https://www.howtoforge.com/tutorial/ubuntu-rolling-release/ describes how to create one.
It mostly just requires changing the package channel entries in /etc/apt/sources.list from one of the official release names, utopic, vivid, wily, xenial, and yakkety (corresponding to major versions from 14.10 to 16.10) to the developer channel, devel. Once that is done, apt-get update and apt-get dist-upgrade commands, followed by a reboot, bring the system up to the latest developer versions.
On 1 July 2016, I created a clone of my new Ubuntu 16.10 virtual machine, then carried out those steps to make a new VM on which TeX Live 2016 built without problems, and produced the x86_64-linux-ubuntu-devel binaries. Because Ubuntu 16.10 is only a few days old, the two systems are currently quite similar, but they will diverge more in the future. Their C and C++ compilers are from gcc-5.4.0 (20160609).
The long-awaited Slackware 14.2 GNU/Linux distribution was released on 1 July 2016, and the next day, I successfully built a new virtual machine with that O/S. Much is new in Slackware compared to the 14.0 (September 2012) and 14.1 (November 2013) releases, with a major Linux kernel version change, and more filesystem types. The Slackware package system has fat packages, instead of the many chopped-up ones that many other distributions use, so after the initial installation of all package groups (except games), the system was ready for a TeX Live 2016 build. That completed successfully on the first try.
The native C/C++ compilers on Slackware 14.2 are gcc-5.3.0 and clang-3.8.0, both released in 2015. Compilers are also included for Ada, C++, Fortran, Go, Java, Objective C++, and Common Lisp (the latter as the clisp needed in TeX Live 2016). The default desktop is KDE, with several others offered as alternatives.
On 2 July 2016, I created a new virtual machine for elementary OS 0.4 (Loki), a GNU/Linux distribution built on top of the Ubuntu 16.04 LTS (Xenial Xerus) package archive (released on 21-Apr-2016). A build of TeX Live 2016 stopped because of the too-often-seen bogus error message error: Sorry, you need zlib with compress2. The only known workaround is to rebuild with the configure option --disable-dvipdfm-x, and that completed successfully, including the build of Asymptote.