1 环境参数
操作系统:archlinux
Kernel: 6.4.11-arch2-1
包管理器:pacman
日期:2023.08.25
2 问题描述
今天一如往常地进行软件包更新:
bash
sudo pacman -Syu
随后,在使用luelatex对我的论文(latex)进行编译时,无法编译。想到在软件更新前还能编译,更新后就无法编译,必然是软件包版本问题。在命令行运行lualatex报错:
bash
$ lualatex
PANIC: unprotected error in call to Lua API (zlib library version does not match - header: 1.2.13, library: 1.3)
[1] 8226 IOT instruction (core dumped) lualatex
所以断定是 zlib 软件包更新导致的。
3 解决方案
既然是软件包更新导致,那么对软件包进行降级即可。操作:
- 下载 downgrade 工具,以便对软件包降级
bash
sudo pacman -S downgrade
- 由于 zlib 包被 lib32-zlib 包所依赖,所以不能直接对 zlib 降级,先对 lib32-zlib 降级:
bash
sudo downgrade lib32-zlib
- 最后对 zlib 降级:
bash
sudo downgrade zlib
至此, lualatex 可以正常编译,问题解决。