Index of /pub/texlive-utah-2016

[ICO]NameLast modifiedSize

[PARENTDIR]Parent Directory  -
[DIR]Images/2016-04-16 06:42 -
[TXT]README.html2020-02-26 15:16 71K
[   ]SYS.texlive-2016.csh2016-09-05 19:28 6.7K
[   ]SYS.texlive-2016.sh2016-09-05 19:29 5.6K
[DIR]bin/2016-09-06 05:44 -
[   ]build-asymptote.sh2016-06-13 08:21 3.3K
[   ]build-texlive-2016.sh2016-09-05 19:36 46K
[   ]ftp.math.utah.edu.pdf2016-05-12 10:31 125K
[   ]make-texlive-binary-distributions.sh2016-04-29 08:26 1.2K
[   ]make-texlive-snapshot-2016.sh2016-03-28 15:54 1.2K
[DIR]old/2016-03-29 17:15 -
[   ]show-file-counts.sh2016-04-01 10:27 1.0K
[   ]show-lib-deps.sh2016-04-26 07:12 1.3K
[   ]show-texlive-libs.sh2016-06-17 12:10 2.0K
[DIR]tlpretest/2016-06-05 10:50 -
[   ]www.math.utah.edu.pdf2016-05-12 10:32 105K


                     

TeX Live 2016 released!

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.

TeX Live 2016 early access

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.


Installing the TeX Live 2016 pre-test

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.


Updating your TeX Live 2016 pre-test installation

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).


Build problems and other remarks for TeX Live 2016

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:

  1. The TeX Live source distribution supplies a top-level script, source/Build, that is intended to be a simple way to direct the build, putting the compiled files under the tree source/Work. While that works for some of the more popular distributions on vanilla systems without locally installed software, it does not suffice at Utah where we have a rich environment of additional software. My solution to that problem is the build-texlive-2016.sh script, available from a link at the top of this Web site. It uses the output of uname to determine the local system, and then sets numerous environment variables that are finally passed to the standard Build script. The goal with both scripts is to have a one-line command that successfully builds the entire TeX Live tree without further human intervention.
  2. Although the original TeXware does not require any particular C compiler, many of the additional packages require gcc and g++, or compilers that pretend to be them, like clang and clang++. In addition, they may require features of fairly recent versions of those compilers, and they may generate gcc-specific compiler flags in Makefile assignments.
  3. Although the original TeXware does not require any particular Unix make implementation, many of the additional packages use GNU extensions of that utility. It is therefore necessary to install that version on non-Linux platforms; such packages may be labeled gmake or gnumake.
  4. Sun/Oracle Solaris 10 on i386, x86-64, and SPARC, supported annually since TeX Live 2003, always takes herculean efforts because its GNUware code base is old, and many packages include version checks for other packages that they depend on. Oracle Solaris 11 is much easier, because the vendor supplies much newer versions of GNUware, and the CSW repository can be used to get even newer versions of such software.
  5. OpenBSD (versions 5.4 through 5.9) requires -lpthreads for three packages, but their configure scripts fail to check for the need for a separate library (most other Unix flavors have moved Pthreads functions in the always-available -lc library). The builds on OpenBSD therefore require manual restarts, or automated patches, to override library names in Makefiles.
  6. As noted earlier, the absence of a working Common Lisp, clisp, on many systems prevents building the xindy document indexing software.
  7. The fine Asymptote figure-drawing program, asy, is written largely in C and C++, and the evolution of C++ through ISO Standards of 1998, 2003, 2011, 2014, and soon, 2017, means that C++ compilers on various platforms often do not accept C++ code that compiles readily on other platforms, or with other C++ compilers. Thus, Asymptote is missing from about a third of the binary distributions at this site.
  8. On GNU/Linux Debian 6.0.10 x86-64 and Red Hat 5.11 IA-64 (Itanium), the configure process in the source/Work/texk/dvipdfm-x directory erroneously reports error: Sorry, you need zlib with compress2, even those all versions of that library on the build host have the needed library function! Examination of log files shows that the error message is a red herring: the real cause is that the configure script runs libtool that attempts to change to the nonexistent directory ${exec_prefix}/lib/x86_64-pc-linux-gnu. I do not yet have a solution to that problem.
  9. On GNU/Linux Red Hat 5.11 IA-64 (Itanium), and several others (TO DO: list them here!), the build fails in source/Work/texk with unresolved references to functions in -lexpat and -lfreetype. Those two need to be in the LIBS setting in the Makefile, but are missing. Manually restart the build in that directory with something like this:
    % 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'
    
  10. 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.

  11. 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.

  12. On Minix 3.4 (released 28-Jan-2016), there is a much larger collection of installable packages (almost 6600) than in earlier Minix versions, including clang 3.4 and gcc 4.5.4, and TeX Live 2015. I therefore felt it worthwhile to attempt a build of TeX Live 2016. Regrettably, with both compilers, the build fails with C++ compilation errors in source/libs/poppler/poppler-src/goo/GooList.cc. I next tried adding the configure option --with-system-poppler, but that terminates even earlier with the complaint: configure: error: did not find poppler 0.30 or better.
  13. 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.

  14. 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.

  15. 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).

  16. 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.

  17. 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.

  18. 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.

  19. Once the many underlying support packages were installed via the system package installer, apt-get, a build of TeX Live 2016 on the latest Ubuntu release, 16.10, (announced on 30 June 2016, but ISO images were available on 27 June 2016), was problem free. The default /usr/bin/gcc compiler version is 5.4.0. The binary directory x86_64-linux-ubuntu-16.10 has 412 executables.
  20. 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.

  21. 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).

  22. 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.

  23. 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.