[tlbuild] PPC builds

Johannes Hielscher jhielscher at posteo.de
Sat Feb 15 00:19:32 CET 2020


Am Sat, 31 Mar 2018 16:45:40 +0200
schrieb Johannes Hielscher <jhielscher at posteo.de>:
> But maybe this makes things
> easier for TL19, when we all have those fancy Talos workstations...

Back then, that was meant merely as a joke. But times change, and I now
indeed have physical access to a POWER9 workstation.

Of course, I just tried what happens if you run ./Build on a fresh
ppc64el install (Debian Buster). Native build failed due to issues with
libpng and luajit (see below). At this point, I'm not advocating for
adding the ppc64el-linux platform to TeXLive, unless some postive
feedback about this comes in.

Given that, on the one hand the number of installations of modern POWER
hardware not exactly skyrocketing ATM, and on the other hand there is
decent coverage of distribution-side TL packaging already (Debian,
Ubuntu, Fedora, CentOS, OpenSuSE), target audience for native TL
binaries is exponentially small IMO, given this platform is covered by
Linux distros, and so expensive.



My efforts so far:
./Build --disable-native-texlive-build --with-system-libpng \
--disable-xindy \
--disable-luajittex --disable-luajithbtex --disable-mfluajit \
--disable-mfluajit-nowin
builds 440 binaries off -r53746 sources, passes all tests, and is fully
functional (up to my limited needs) with reliance on system-provided
libpng.

I had to disable luajit et al. due to missing PPC64 upstream support,
discussed in length at [1, 2, 3]. Obviously, a few patches to make
LuaJIT work on ppc64el circulate for several years now, but are not
merged upstream. Debian opted for these patches though, so they got
luajittex etc. into their packages (I didn't check the efforts of other
distros), but those aren't native TL builds (in our sense) at all.

Regarding libpng, I dived not too deep into the issue, but it reminds
me a bit of my troubles on aarch64-linux: gd (the first dependency on
libpng built thereafter) fails to configure with:
> checking for png_create_read_struct... no
though nm reports png_create_read_struct to be present in
Work/libs/libpng/libpng.a



To sum up, I'm not advocating for embracing yet another exotic platform
into TL binary distribution (unless audible demand), but I am collecting
experience, and am open to test progress in platform-agnosticism on a
IBM POWER9 machine.


Best,
Johannes



[1] https://github.com/LuaJIT/LuaJIT/pull/140
[2] https://sources.debian.org/patches/luajit/2.1.0~beta3+dfsg-5.1/
[3] https://github.com/openresty/luajit2/pull/77


More information about the tlbuild mailing list.