当前位置: 首页>>技术教程>>正文


升级到 Ubuntu 16.04 后 Steam 无法启动

,

问题描述

升级到 Ubuntu 16.04 后,Steam 无法启动。当我从命令行执行它时,出现以下错误:

$ steam
Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
Installing breakpad exception handler for appid(steam)/version(1459463254)

最佳方法

我从 14.04 LTS 升级到 16.04 LTS,但也无法启动 Steam。它开始了(我的意思是,’steam’ 继续运行),但几秒钟后没有任何反应。

对我来说,我最终找到的解决方法是从命令行运行 Steam:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' steam

以下为非必要信息。

Steam 本质上提供了一个 “mini distribution”,称为 Steam Runtime,但它目前尚未完成完整的工作,因此它与系统 C++ 标准库和/或其他库发生了冲突。在我的实验过程中,我还抱怨系统 libreadline6 <-> Steam 运行时 libtinfo5。当我手动解压Steam目录下的steam运行时tarball包以覆盖我之前在那里的内容后,它变成了这个问题(pcre_jit_stack_alloc)中所描述的。

一个有趣的花絮是,在我找到上述解决方案之前,我能够启动 Steam,因此它通过使用导出 STEAM_RUNTIME=0 暂时禁用 Steam 运行时来为自己下载升级。 Steam 本身无法运行,但这是我向前迈出的第一步。我尝试安装所需的 32 位库的系统等效项,但没有完成/使其正常工作。

次佳方法

执行以下命令每次对我来说都有效。

LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /$LIB/libgpg-error.so.0' steam

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14007.html,未经允许,请勿转载。