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 Jul 27 '18 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 Jul 27 '18 at 21:15
  • @JosephWright How does it use it, do you know? (Not linked obviously.) – cfr Jul 28 '18 at 3:52
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+"$@"}
    

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.