biber 想要加载 libcrypt.so.1 但它丢失了

biber wants to load libcrypt.so.1 but it is missing

我是 Arch GNU/Linux 用户,通常使用 pacman 管理几乎所有的包;我用 tlmgr 管理 TeX 和 LaTeX 相关的东西。我从源代码安装了 tlmgr。

我在写论文。我想使用参考书目。

当我尝试时 latexmk -pdflua main.ltx:

Rc files read:
  latexmkrc
Latexmk: This is Latexmk, John Collins, 20 November 2021, version: 4.76.
Latexmk: applying rule 'biber main'...
Rule 'biber main': The following rules & subrules became out-of-date:
      'biber main'
------------
Run number 1 of rule 'biber main'
------------
------------
Running 'biber  "main.bcf"'
------------
biber: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
Latexmk: Errors, so I did not complete making targets
Collected error summary (may duplicate other messages):
  biber main: Could not open biber log file for 'main'
Latexmk: Use the -f option to force complete processing,
 unless error was exceeding maximum runs, or warnings treated as errors.

libcrypt.so* 在我的环境中

$ pacman -Qo /usr/lib/libcrypt*
/usr/lib/libcrypto.so is owned by openssl 1.1.1.m-1
/usr/lib/libcrypto.so.1.1 is owned by openssl 1.1.1.m-1
/usr/lib/libcryptsetup.so is owned by cryptsetup 2.4.3-2
/usr/lib/libcryptsetup.so.12 is owned by cryptsetup 2.4.3-2
/usr/lib/libcryptsetup.so.12.7.0 is owned by cryptsetup 2.4.3-2
/usr/lib/libcrypt.so is owned by libxcrypt 4.4.28-1
/usr/lib/libcrypt.so.2 is owned by libxcrypt 4.4.28-1
/usr/lib/libcrypt.so.2.0.0 is owned by libxcrypt 4.4.28-1

我还尝试了什么

我在 tlmgr 上卸载并重新安装了 biber,但没有用。

# ln -s /usr/lib/libcrypt.so /usr/lib/libcrypt.so.1
$ latexmkrc -pdflua main.ltx
Rc files read:
  latexmkrc
Latexmk: This is Latexmk, John Collins, 20 November 2021, version: 4.76.
Latexmk: applying rule 'biber main'...
Rule 'biber main': The following rules & subrules became out-of-date:
      'biber main'
------------
Run number 1 of rule 'biber main'
------------
------------
Running 'biber  "main.bcf"'
------------
/tmp/par-716861/cache-0e6aa298f0c2e7a775de99938825b2d56bd2027f/biber: /usr/lib/libcrypt.so.1: version `GLIBC_2.2.5' not found (required by /tmp/par-716861/cache-0e6aa298f0c2e7a775de99938825b2d56bd2027f/biber)
Latexmk: Errors, so I did not complete making targets
Collected error summary (may duplicate other messages):
  biber main: Could not open biber log file for 'main'
Latexmk: Use the -f option to force complete processing,
 unless error was exceeding maximum runs, or warnings treated as errors.

文件来源

latexmkrc:

$latex='lualatex %O -synctex=1 -interaction=nonstopmode %S';
#$bibtex='upbibtex %O %B';
$bibtex='biber %O %B';
$makeindex='upmendex %O -o %D %S';
$pdf_mode=3;

按照 this answer 中的建议从 AUR 安装 libxcrypt-compat

这让我在 TeX Live 2020 中的 biber 再次工作。有趣的问题是更新的 TeX 发行版是否需要这个 AUR 包。

添加到@Christoph90 的回答中,截至 2022 年 5 月 25 日,TeX Live 2022 仍然需要 libxcrypt-compat 包,以便 biber 在 Manjaro 21.2.6 上运行。但是,软件包已移动到 core/libxcrypt-compat,因此请按

安装
sudo pacman -S libxcrypt-compat