![在 Steam 客户端之外运行游戏时出现“lib”问题](https://linux22.com/image/118762/%E5%9C%A8%20Steam%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%B9%8B%E5%A4%96%E8%BF%90%E8%A1%8C%E6%B8%B8%E6%88%8F%E6%97%B6%E5%87%BA%E7%8E%B0%E2%80%9Clib%E2%80%9D%E9%97%AE%E9%A2%98.png)
我正在运行 Mint 18.2 Sonya 并使用 nvidia-375 驱动程序。
所讨论的游戏是十字军之王 II。从蒸汽客户端内它启动正常。但是,如果可能的话,我宁愿不使用客户端。我知道在 CK2 的 Win 版本中,只需直接运行可执行文件即可实现这一点。从 Thunar运行可执行文件~/.steam/steam/steamapps/common/Crusader\ Kings\ II/ck2
不会产生任何结果,因此我通过命令行运行它并收到以下消息:
./ck2: error while loading shared libraries: libuuid.so.1: cannot open shared object file: No such file or directory
稍微搜索一下,我发现这是一个丢失的 lib 文件。我找到了 libuuid.so.1/lib/x86_64-linux-gnu/
并从那里创建了一个符号链接/usr/lib/
这是我从有类似问题的人那里找到的修复:相同的游戏,不同的缺失库。再次从命令行运行可执行文件会出现新错误。
./ck2: error while loading shared libraries: libuuid.so.1: wrong ELF class: ELFCLASS64
更多研究表明,这意味着我符号链接的库是错误的架构。我真的应该预料到这一点,因为我在 /lib/x86_64-blah-blah 中找到了这个东西。但是现在我似乎找不到 32 位版本的 libuuid.so,我什至尝试将其符号链接到 /usr/lib32,但随后它又抱怨该库丢失了。我检查了以确保我的multiarch-support
包裹也是最新的。
编辑:我确保该libuuid1
软件包是最新的。这是 dpkg -L 结果:
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libuuid1
/usr/share/doc/libuuid1/changelog.Debian.gz
/usr/share/doc/libuuid1/copyright
/lib
/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu/libuuid.so.1.3.0
/lib/x86_64-linux-gnu/libuuid.so.1
答案1
export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH
这将确保 steam 首先在 /usr/lib32 中查找以找到所需的库。
此修复对某些用户有效。