[tex-live] Build binaries with static libraries

Ken Moffat zarniwhoop at ntlworld.com
Fri Mar 31 18:06:26 CEST 2017

On Fri, Mar 31, 2017 at 11:11:56AM +0200, Mojca Miklavec wrote:
> On 30 March 2017 at 01:24, Karl Berry wrote:
> >
> > readline and ncurses are fundamental libraries. Arch surely provides
> > them? If Arch chooses to break every existing binary by bumping the
> > version number (if that's what happened), we can't help that. Maybe they
> > provide their own asy, at least.
> They most likely provide the latest version of everything. Providing
> binaries without any external dependencies like TeX Live does is
> rather an exception than the rule. The whole GNU Linux ecosystem works
> on the basis of packaging OpenSource software inside the distro, so I
> doubt they are actually breaking anything by providing the latest
> version of libraries. All packages are built from sources (or perhaps
> on the build servers, not sure), so for whatever package the distro
> provides, this is not an issue.
> Karl, the only two "problematic" libraries for Vladimir were
> "readline" and "ncurses", X apparently works. Something similar is
> true for Solaris and Mac.
> At least readline is problematic for me for basically all the
> platforms where I have to compile asymptote (Mac, Solaris) and now we
> figured out that it's also a problem on Linux (I don't know how
> windows binaries are compiled, but I'm sure that one needs a copy of
> the library there as well).
If I understood the problem correctly, on Arch libreadline.so is
linked to the current version (.so.7) whereas the asy binary is
linked to libreadline.so.5.  And similarly ncurses was linked to .5.

For the little it is worth, in BLFS we cover a similar situation for
people who use the binaries (for from-source we do asy and xindy
separately and therefore they link to the system versions).  I'll
point to our systemd books since Arch uses systemd, although the
details in the sysv books are similar:


>From the section  Recommended (at runtime)

"the optional non-wide-character ncurses library (for "some
binary-only application") from the bottom of the Ncurses page in LFS
is needed by asy and also for xindy.run which is used by xindy"

That is at
specifically the Note just above '6.20.2 Contents of Ncurses'

And for asy -

"The binary versions of asy needs GLU-9.0.0, Freeglut-3.0.0. and
libreadline-5.2 : this only requires libreadline.so.5.2 which can be
manually copied from the shlib/ directory after running configure
and make and then symlinked as libreadline.so.5."

But for people using Arch, the simplest solution is to use Arch's

`I shall take my mountains', said Lu-Tze. `The climate will be good
for them.'     -- Small Gods

More information about the tex-live mailing list