我已经从 linux ubuntu 18.04 的 Steam 商店安装了“反恐精英全球攻势”,但是当我(从终端)启动它时,它会出现许多错误,如下所示:
Steam/steamapps/common/Counter-Strike Global Offensive/bin/datacache_client.so
error=Steam/steamapps/common/Counter-Strike Global Offensive/bin/datacache_client.so: wrong ELF class: ELFCLASS32
从已经回答的问题中,我已经知道我应该安装 32 位共享对象,但是这些库中的大多数(如果不是全部)在存储库中不可用,并且是由游戏开发人员创建的。
我想知道我能做些什么来抑制这些错误?
也不能直接从 Steam 应用程序启动。
感谢您的帮助。
谢谢。
您不能“抑制这些错误”:可执行二进制文件及其所需的所有库必须全部为 64 位或全部为 32 位。为了运行应用程序,您必须提供它所需的所有库的正确版本。
如果您的系统是 64 位并且您之前没有安装任何 32 位库,您可能需要在包管理系统中启用 32 位架构支持:
您可能还必须检查您的存储库定义
/etc/apt/sources.list
和任何/etc/apt/sources.list.d/*.list
文件。如果架构规范中有任何未注释的行,例如:那么您可能希望删除 ''[arch=amd64]'' 部分,该部分将包存储库访问限制为仅限 64 位版本。
之后,运行
sudo apt update
或等效命令刷新可用包列表,然后您应该有任何可供选择的库包的 32 位版本,其名称与相应的 64 位包相同,但:i386
后缀为包裹名字。最后删除所有位于游戏根目录 bin/ 下的 32 位共享对象(暂时)解决了问题。我认为这是游戏本身的错误。
此外,我无法从存储库中安装大部分这些库,因为它们是该游戏的专有共享对象。