我希望有人能帮忙,我刚刚收到了 2018 tex live DVD 并将其安装在我的 Linux 系统上(Red Hat,v6.10,glibc 2.12)。安装日志有以下消息:
kpsewhich:/lib64/libc.so.6:未找到版本“GLIBC_2.14”(kpsewhich 所需)无法确定 tlmgr 可执行文件的目录,可能是共享库存在问题?
安装后,我尝试在现有的 *.tex 文件上运行 latex,但也失败了,因为 pdflatex 也需要 glibc 2.14。
我在 tug.org 网站的 Tex Live 2018 - 错误和更新页面上发现了以下内容:
“适用于大多数平台的二进制文件建立在比过去更新的系统上;例如,x86_64-linux 二进制文件现在需要 glibc 2.14。这是因为核心库 ICU 和 poppler 现在需要 C++11,而在我们过去使用的旧系统上使用该库进行编译是不可行的。”
这里有补救措施吗?我加入 TUG 已有 10 多年了,并且已经支付了会员费以支持 Tex 和朋友的使用。由于这是一台我使用 LaTeX 的工作电脑,因此我无法升级操作系统。有没有人遇到过这种情况并找到了解决方法?
谢谢任何信息,否则我想我的新 2018 DVD 只是一个杯垫 :(。
-格伦
答案1
我已经编译了不需要 icu&poppler 的二进制文件子集,这些二进制文件位于较旧的 x86_64-linux 上。这省略了 luatex、xetex、dvisvgm、upmendex、bibtexu。
看https://tug.org/texlive/custom-bin.html以获取链接和更多详细信息。
安装和更新并不完美(与上下文相关的错误 - 我建议在安装时省略该集合),但结果对我来说是可用的。
希望它有用。
答案2
至于兄弟 glibc2.14,我自己还没有尝试过。我担心会以某种方式在某个地方发生冲突。
我的另一个想法是,应该可以编辑 {xe,lua}tex 二进制文件,将 glibc 要求改回 2.12(patchelf?objdump?十六进制编辑器?)二进制文件中是否有任何内容实际上需要新 glibc 版本中的函数(我预计是间接的),我不知道。不幸的是,我找不到一个合适的方法来尝试这个实验。
我深深希望 icu 和 poppler 没有强行创造这个新世界。
答案3
下面的解决方法似乎有效。
- 安装 glibc 到某个地方,例如
/usr/local/opt/glibc/glibc-2.14
安装 tex-live:
export LD_LIBRARY_PATH=/usr/local/opt/glibc/glibc-2.14/lib64 install-tl -profile texlive.profile
其中
TEXDIR
定义为/usr/local/opt/texlive/2018 in texlive.profile
为二进制文件制作包装器脚本。例如,Latex 包装器包含以下两行
export LD_LIBRARY_PATH=/usr/local/opt/glibc/glibc-2.14/lib64 /usr/local/opt/texlive/2018/bin/x86_64-linux/latex ${1+"$@"}