【linux】记录archlinux软件包更新后lualatex无法编译的一种解决方案

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 解决方案

既然是软件包更新导致,那么对软件包进行降级即可。操作:

  1. 下载 downgrade 工具,以便对软件包降级
bash 复制代码
sudo pacman -S downgrade
  1. 由于 zlib 包被 lib32-zlib 包所依赖,所以不能直接对 zlib 降级,先对 lib32-zlib 降级:
bash 复制代码
sudo downgrade lib32-zlib
  1. 最后对 zlib 降级:
bash 复制代码
sudo downgrade zlib

至此, lualatex 可以正常编译,问题解决。

相关推荐
酷可达拉斯28 分钟前
自动化运维-从零开始编写ansible剧本(二)
linux·运维·服务器·centos·自动化
Darkwanderor40 分钟前
Linux线程控制
linux·c语言·c++
Brilliantwxx1 小时前
【Linux】 开发|Git 版本控制与 gdb/cgdb 调试
linux·笔记·git
allforgood1 小时前
管理 SELinux 安全性
linux·运维·网络
Darkwanderor1 小时前
多线程的互斥问题和互斥锁解决互斥问题
linux·c语言·c++
数智工坊1 小时前
UECP:不确定性增强的协同感知 | 基于物理先验的BEV融合新范式
linux·ubuntu·3d·机器人
ltl10 小时前
内核追踪:ftrace、kprobe、uprobe、tracepoint 生产实战
linux
·薯条大王10 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
小小、码农13 小时前
Linux进程控制:从fork到exec,手写一个简易Shell
linux·运维·服务器
不会就选b14 小时前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器