Karl Berry karl at freefriends.org
Sun Oct 27 00:53:20 CEST 2019

Hi Max -

    The current master of poppler uses C++14, which is now 5 years old.

I had the impression that current poppler sources require C++17.

Anyway, the chronological age of a standard doesn't much matter. What
matters is what distro-provided compilers support. The CentOS 7
compiler, for example, doesn't support C++14. And even CentOS 6 (doesn't
support C++11) has not yet reached end of life. Such problems occur with
other distros too.

    * Is there a list of OSes that should still be supported?

There is no particular list. We support as old of systems as we
reasonably can.

    * When is a decision made to drop old systems?

When it's no longer reasonable. The volunteers who build the TL binaries
for system X are the ones who ultimately decide what can be reasonably

    * Wouldn't it be okay for old systems just to install a compatible older 

If you mean an older TeX release, then, no. TeX users would not be happy
to be forced to live with an old, un-updatable, release just because
some third party library, which is a tiny part of the overall TeX world,
can no longer be compiled on their system.

In general, the TeX world has a long history of trying to be as portable
as possible, since after all TeX itself is completely portable, and TeX
distributions were happening years before the current kernels (Linux,
BSD, Solaris, ...) existed.

There continues to be a nontrivial number of people who cannot use the
binaries we compile now, which require C++11 (because of the glibc
implications).  We regretfully had to make that change because not just
poppler, but also ICU, started requiring the newer C++, and there was no
general workaround for that. It is a big hassle both for builders and for users.

The only way to deal with that is to compile and use a newer compiler on
the older system, which has plenty of its own problems. Nelson Beebe has
succeeded with that approach (among many other necessary changes) on a
huge variety of systems, but it's not feasible to require that much work
of the volunteers who build the binaries we distribute with TL.

Anyway, as far as poppler goes, the only thing it's used for in the TeX
tree is to read PDF files in batch, which is a small fraction of its
functionality. So the ultimate goal is to stop using poppler entirely
and use pplib, written in C by Pawel Jackowski. It's being used in
luatex as of the TL 2019 release, and we hope to extend it to other
engines if we (that is, Luigi Scarso, the luatex maintainer) can make it
reliable enough. We'll see.


More information about the tex-live mailing list