[tlbuild] TeX Live 2019 build issues on Debian systems

Nelson H. F. Beebe beebe at math.utah.edu
Mon Apr 1 22:16:49 CEST 2019


Although I have yet to update a Utah Web page on the status of my TeX
Live 2019 builds, I have done a number of them over the last couple of
weeks, with the view that the source tree is stabilizing.

Today, I found a serious issue for building TeX Live on a new VM that
I created over the weekend for Debian 10 (still in beta release):
namely, three files in the texk/xdvik tree (events.c, x_util.c, and
xdvi.c) have hardcoded #include directives with the path X11/Xaw/...,
and the configure.ac script makes similar assumptions in its tests.

The problem is that Debian 6, 7, 8, 9, and 10 do not have any package
that installs into /usr/include/X11/Xaw, or supplies a library called
/some/path/to/file/libXaw.so.

Instead the various Debian releases supply packages named xaw3dg and
xaw3dg-dev, and more recent ones have these as well:

    v  libxaw3dxft-dev - 
    p  libxaw3dxft6 - An extended version of Xaw3d with support for UTF8
    p  libxaw3dxft8 - Extended version of Xaw3d with support for UTF8
    p  libxaw3dxft8-dev - Extended version of Xaw3d with support for UTF8 (Development files)

They install header files in the directories /usr/include/X11/Xaw3d
and /usr/include/X11/Xaw3dxft that appear to be supersets of the Xaw
support that other systems supply.

My first inclination was to modify *.[ch] and configure.ac files for
xdvik, but I decided to first try an experiment: as root (which I can
do, because I own the build machine), I created this symlink

	# ln -s Xaw3d /usr/include/X11/Xaw

and then started a fresh TeX Live build.  That got further, but died in
an attempt to link xdvik, because -lXaw is not found.

I traced the source of that problem, and fixed it with another
symlink:

	ln -s libXaw.so.7 /usr/lib/x86_64-linux-gnu/libXaw.so

Another fresh build of TeX Live 2019 + asymtote (both snapshotted from
tug.org::tldevsrc/Build/source this morning, 1-Apr-2019) succeeded,
and I have a new bin/x86_64-debian-10 directory on our systems with
the results of that build.

If other O/S distributions take the view that Xaw can be dropped in
favor of Xaw3d or Xaw3dxft6 or Xaw3dxft8, then the hardcoded
references to the directory component Xaw and the library name -lXaw
simply MUST be fixed.  We cannot expect end users to necessarily have
administrative rights on the machine that they work on to create
system symlinks and install additional vendor packages, because they
have always been able to install TeX Live releases in personal
directory trees.  Ideally, we should used statically-linked -lXaw*
libraries, so that there is NO dependence in the xdvi executable on
them, ensuring wider portability of the build to other Linux
distributions.

What do other developers feel about this issue?  xdvik is the only
component that depends on the Xaw library, so it should not be hard to
have its configure.ac file check for 3 different header file paths,
and alternative shared library names.  The changes are likely to
amount to only 10 to 20 lines affecting only four files (one of which,
configure.ac, is used to generate the configure script).

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