[tlbuild] OpenBSD

Nelson H. F. Beebe beebe at math.utah.edu
Thu May 5 02:40:33 CEST 2016


>From the Web site

	http://www.math.utah.edu/pub/texlive/

here is the current status of TeX Live 2016 builds on OpenBSD at Utah:

	binary-distribution-name	: Missing binaries [compared to x86_64-linux-pclinuxos-2016]

	x86_64-openbsd-54       	: inimflua inimfluajit m-tx pmx2pdf tex2xindy texindy xindy xindy.mem xindy.run
	x86_64-openbsd-55       	: inimflua inimfluajit m-tx pmx2pdf tex2xindy texindy xindy xindy.mem xindy.run
	x86_64-openbsd-56       	: inimflua inimfluajit m-tx pmx2pdf tex2xindy texindy xindy xindy.mem xindy.run
	x86_64-openbsd-57       	: inimflua inimfluajit m-tx pmx2pdf tex2xindy texindy xindy xindy.mem xindy.run
	x86_64-openbsd-58       	: asy inimflua inimfluajit m-tx pdfxup pmx2pdf tex2xindy texindy xasy xindy xindy.mem xindy.run
	x86_64-openbsd-59       	: inimflua inimfluajit m-tx pmx2pdf tex2xindy texindy xindy xindy.mem xindy.run

The problem report at

	http://www.tug.org/pipermail/tex-live/2007-January/011870.html

refers to build failures on OpenBSD due to missing symbols from the
-lpthread library.  That library IS available on OpenBSD, but it make
take a package installation to put it onto your system.  The problem
is that the contents of -lpthread are in -lc on many flavors of Unix,
so there are at least three erroneous configure.in scripts in the TeX
Live tree that fail to test for the need for a separate -lpthread
option.

>From my posting to the tlbuild list on Sat, 23 Apr 2016 18:48:32
-0600:

>> ...
>> I've now done a fresh build of the texlive-20160423 snapshot on
>> OpenBSD 5.9, without adding -lpthreads to all of the Makefiles.  Each
>> time the build failed with missing pthread symbols, I stepped to that
>> directory and added that library in front of -lm in the Makefile, then
>> restarted the build.
>> 
>> On completion, only these executables now refer to the pthread libraries:
>> 
>> 	libpthread		bibtexu upmendex
>> 
>> 	libpthread-stubs	inimf mf mflua mflua-nowin mfluajit \
>> 				mfluajit-nowin pdfclose pdfopen \
>> 				xdvi-xaw xelatex xelollipop xetex
>> ...

Karl Berry commented on this list on Tue, 3 May 2016 21:29:29 GMT:

>> ...
>> Although I could drop Nelson's binaries into place, there are more
>> issues with supporting a platform in TL -- wget, xz, config.guess stuff,
>> which version to ship, etc.  I doubt Nelson has time to deal with such
>> extraneous issues.
>> ...

Both wget and xz are available in the OpenBSD package systems back to
at least OpenBSD 4.9, so I don't believe that they pose any serious
issue.

The GNU config.guess script works fine all versions from 4.9 to 5.9,
with output like this on my various OpenBSD systems:

	i386-unknown-openbsd4.9
	...
	amd64-unknown-openbsd5.9

Although developers with single-user systems often like to ride the
bleeding edge of O/S releases, larger sites often have constraints
imposed by other critical software or hardware that prevent easy
upgrades to newer O/S releases (e.g., at our site, we cannot upgrade
our thousands of users with thin clients from CentOS 6 to CentOS 7,
because the kernel modules needed to support our Oracle Sun Ray
stations are not yet available on CentOS 7: moving to alternate thin
clients is economically infeasible when about 400 of them would have
to be bought, at a cost of US$250 to US$500 each).

As the above Web site notes, it is often possible to run software from
older O/S releases on newer ones in the same architecture and O/S
family, subject to availability of shared libraries and suitable
kernel symbols.

As an experiment for OpenBSD, I just copied all of the OpenBSD binary
directories to OpenBSD 5.9 (the latest one, barely two weeks since its
official release).  Here is what I found:

	% foreach f ( x86_64-openbsd-5?/tex)
	    echo $f ; ./$f --version
	  end

	x86_64-openbsd-54/tex
	./x86_64-openbsd-54/tex: can't load library 'libc.so.69.0'

	x86_64-openbsd-55/tex
	./x86_64-openbsd-55/tex: can't load library 'libpthread.so.18.0'

	x86_64-openbsd-56/tex
	./x86_64-openbsd-56/tex: can't load library 'libpthread.so.18.0'

	x86_64-openbsd-57/tex
	./x86_64-openbsd-57/tex: can't load library 'libc.so.78.1'

	x86_64-openbsd-58/tex
	./x86_64-openbsd-58/tex: can't load library 'libc.so.83.0'

	x86_64-openbsd-59/tex
	TeX 3.14159265 (TeX Live 2016)
	kpathsea version 6.2.2
	Copyright 2016 D.E. Knuth.
	There is NO warranty.  Redistribution of this software is
	covered by the terms of both the TeX copyright and
	the Lesser GNU General Public License.
	For more information about these matters, see the file
	named COPYING and the TeX source.
	Primary author of TeX: D.E. Knuth.

It therefore looks to me like we need to have separate binaries for
each OpenBSD release.  Here are their disk space requirements:

	% du -sh x86_64-openbsd*
	150M    x86_64-openbsd-54
	150M    x86_64-openbsd-55
	152M    x86_64-openbsd-56
	152M    x86_64-openbsd-57
	152M    x86_64-openbsd-58
	157M    x86_64-openbsd-59

Given that the TeX Live YYYY DVD has been chock full for years, we are
unlikely to have the DVD space to hold more than a dozen or so of the
binary directories for the most common platforms.

The rest, however, we can easily supply via Web download, at least for
those end users who have adequate Internet connections.  With gzip -9
and xz -9 maximal compression, those directories can be squeezed down
to about a third of their original sizes:

	% du -sh *.tar.*
	53.4M   x86_64-openbsd-59.tar.gz
	49.2M   x86_64-openbsd-59.tar.xz

If anyone on this list has contact with the OpenBSD folks who built
TeX Live for earlier O/S releases, then we should open a dialog with
them, and help them to get TeX Live 2016 distributions for at least
the last half-dozen O/S versions.  I'll be happy to collaborate with
them.

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- University of Utah                    FAX: +1 801 581 4148                  -
- Department of Mathematics, 110 LCB    Internet e-mail: beebe at math.utah.edu  -
- 155 S 1400 E RM 233                       beebe at acm.org  beebe at computer.org -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------


More information about the tlbuild mailing list