You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox 60.9esr编译失败求助:多系统下cssparser构建出错

解决Firefox 60.9esr编译中cssparser构建失败的问题

问题背景

在Debian 10(buster)、Debian 12(bookworm)、Ubuntu 18.04(bionic beaver)系统编译Firefox 60.9esr时,编译阶段因cssparser模块构建失败退出,核心错误表现为链接器无法找到lrt库,以及Rust版本不兼容导致的编译报错。

解决方案

1. 锁定适配的Rust版本

Firefox 60.9esr要求Rust版本为1.32.0,新发行版自带Rust版本过高,需通过rustup安装指定版本:

curl https://sh.rustup.rs -sSf | sh
rustup install 1.32.0
rustup default 1.32.0
# 验证版本
rustc --version

2. 安装完整编译依赖

针对不同系统安装基础依赖,注意Firefox 60esr依赖Python 2.7:

# 基础依赖(所有系统通用)
sudo apt-get update
sudo apt-get install build-essential libgtk-3-dev libdbus-glib-1-dev libxt-dev yasm zip unzip
# Debian 12需额外安装Python 2.7
sudo apt-get install python2.7 python2.7-dev
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1

3. 调整编译配置

在Firefox源码目录创建.mozconfig文件,添加以下内容:

ac_add_options --enable-optimize
ac_add_options --enable-release
ac_add_options --disable-debug
ac_add_options --disable-tests
# 指定Rust工具链路径
export RUSTC=$(which rustc)
export CARGO=$(which cargo)
# 解决lrt库缺失问题
ac_add_options --with-ldflags=-lrt

4. 清理缓存后重新编译

清理之前的编译残留,避免旧缓存干扰:

./mach clobber
./mach build

原因说明

Firefox 60.9esr属于老旧版本,对构建工具链(尤其是Rust)的版本依赖严格,新发行版的高版本Rust与cssparser的旧代码存在兼容性问题;同时部分新系统中lrt库已合并到libc,但旧版编译脚本仍会尝试单独链接该库,导致报错。

内容的提问来源于stack exchange,提问作者Itsuki Moroshima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 09:33:31