首页 > 解决方案 > Firefox 无法打开“libgtk-3.so.0”。如何规避?

问题描述

我有两个 CentOS 虚拟机,它们使用 Jenkins 通过 Firefox 运行自动化测试。两者都安装了Firefox。两个版本的 firefox 相同(firefox-56.0.1)。我不知道它们是 x86_64 还是其他类型,但无论它们是什么,它们都是相同的。(我使用的是相同的 .tar.bz2 文件。我将它从一个实例复制到另一个实例。)

在一种情况下,我可以运行 Firefox。“firefox --headless”返回“***您正在以无头模式运行。”

将 .tar.bz2 文件复制到另一个实例并安装 firefox 后,我发现新实例没有相同的性能。“firefox --headless”返回以下内容:

XPCOMGlueLoad error for file /usr/local/firefox/libmozgtk.so:
libgtk-3.so.0: cannot open shared object file: No such file or directory
Couldn't load XPCOM.

什么可以解释这种差异?看来我一开始就做对了,但我不知道是什么。是否有一些设置会阻止 Firefox 尝试使用“libgtk-3.so.0”文件?该文件在任一实例上都不存在。

我在其他地方看到过这个问题,但答案似乎集中在版本上(我知道我的版本在第一个实例中有效)和一个已积压的特定错误(这个错误只在新实例中困扰我)。

标签: firefoxjenkinscentos

解决方案


问完问题几分钟后问题就解决了。

只需运行:

yum info gtk3

检查是否安装了gtk3。如果不:

yum install gtk3

我的旧实例安装了 gtk3 版本 3.22.10。我的新实例具有相同的可用但未安装。我不记得在任何无头运行 firefox 的指南中看到过这一点,但我最初认为不值得检查的搜索结果能够相当快地解决这个问题。感谢https://forums.fedoraforum.org/showthread.php?310652-Udating-Firefox-fedora-19上的人们

对于 Ubuntu 或 Debian 发行版,请使用:

apt-get install packagekit-gtk3-module

推荐阅读