2

I hope someone can help, I just received my 2018 tex live DVD and installed it on my Linux system (Red Hat, v6.10, glibc 2.12). Installation log had the following message:

kpsewhich: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by kpsewhich) Could not determine directory of tlmgr executable, maybe shared library woes?

After installation I tried running latex on an existing *.tex file, and it also failed because pdflatex also needs glibc 2.14.

I found on the tug.org website, Tex Live 2018 - bugs and updates page the following:

"The binaries for most platforms are built on newer systems than in the past; for example, the x86_64-linux binaries now require glibc 2.14. This is because the core libraries ICU and poppler now require C++11, and it is not feasible to compile with that on the older systems we have used in the past."

Is there any recourse here? I've been a member of TUG for well over 10 years and have paid the membership in order to support the use of Tex and friends. I do not have the option of upgrading the OS since this is a work computer that I use LaTeX on. Has any run into this and found a workaround?

Thanks for any information, otherwise I guess my new 2018 DVD is just a coaster :(.

-Glenn

5
  • 'Use TL'17' ... I'm not sure what we can really say here: there are good technical reasons for the change, and it's not something that is easy to work around. (Karl doesn't drop support like this without really thinking about it.)
    – Joseph Wright
    Commented Jul 27, 2018 at 21:12
  • What kind of access do you have to the redhat system? You might be able to manually compile glibc 2.14 and have it alongside the 2.12 version. Not that I know the details, but that was what a quick Google search told be (you're not the only redhat/centos 6 user with this problem)
    – daleif
    Commented Jul 27, 2018 at 21:15
  • tug.org/pipermail/tex-live/2018-April/041432.html
    – Joseph Wright
    Commented Jul 27, 2018 at 21:15
  • @JosephWright How does it use it, do you know? (Not linked obviously.)
    – cfr
    Commented Jul 28, 2018 at 3:52

3 Answers 3

3

I have compiled the subset of binaries which do not require icu&poppler on an older x86_64-linux. This omits luatex, xetex, dvisvgm, upmendex, bibtexu.

See https://tug.org/texlive/custom-bin.html for links and more details.

Installation and updates are not perfect (errors relating to context -- I suggest omitting that collection at install time), but the result was usable for me.

Hope it's useful.

3

Regarding a sibling glibc2.14, I haven't tried it myself. I would fear that there would be collisions somehow, somewhere.

Another idea I had was that it should be possible to edit the {xe,lua}tex binaries to change the glibc requirement back to 2.12 (patchelf? objdump? hex editor?) Whether anything in the binary actually requires functions in the new glibc version (indirectly, I would expect), I do not know. Unfortunately I could not find a decent way to try the experiment.

I deeply wish icu and poppler had not forced this new world.

1

The following work-around seems to work.

  1. Install glibc somewhere, e.g. under /usr/local/opt/glibc/glibc-2.14
  2. Install tex-live:

    export LD_LIBRARY_PATH=/usr/local/opt/glibc/glibc-2.14/lib64  
    install-tl -profile texlive.profile
    

    where TEXDIR is defined as /usr/local/opt/texlive/2018 in texlive.profile

  3. Make wrapper-scripts for the binaries. As an example, the latex wrapper contains the two lines

    export LD_LIBRARY_PATH=/usr/local/opt/glibc/glibc-2.14/lib64  
    /usr/local/opt/texlive/2018/bin/x86_64-linux/latex ${1+"$@"}
    

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .