我去了下载页面下载了fs2_open_3.6.16.tar.bz2包,提取它。像这样运行它./fs2_open_3.6.16
,但是我收到以下错误:
./fs2_open_3.6.16: error while loading shared libraries: liblua5.1.so.0: cannot open shared object file: No such file or directory
(liblua5.1-0
包已安装)
我试过
ln -s ./liblua-5.1.so.5.1.x liblua-5.1.so
但它不起作用,同样的错误。
问题:我该如何修复这个错误并玩游戏
笔记:我正在使用 Ubuntu 12.10
输出:ldd ./fs2_open_3.6.16
linux-vdso.so.1 => (0x00007fffa22cc000)
libSDL-1.2.so.0 => /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0 (0x00007f0566c3e000)
libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f0566a11000)
libvorbisfile.so.3 => /usr/lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007f0566808000)
libtheora.so.0 => /usr/lib/x86_64-linux-gnu/libtheora.so.0 (0x00007f05665b7000)
libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f05663b0000)
libopenal.so.1 => /usr/lib/x86_64-linux-gnu/libopenal.so.1 (0x00007f0566156000)
libGL.so.1 => /usr/lib/nvidia-current-updates/libGL.so.1 (0x00007f0565e39000)
libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007f0565bba000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f0565993000)
liblua5.1.so.0 => /usr/lib/x86_64-linux-gnu/liblua5.1.so.0 (0x00007f0565766000)
libjpeg.so.62 => /usr/lib/x86_64-linux-gnu/libjpeg.so.62 (0x00007f0565541000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f056523d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0564f41000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0564d2b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f056496b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f056474e000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007f0564464000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f056425f000)
libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007f056405b000)
libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f0563e13000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f0563ad8000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f05638c6000)
libcaca.so.0 => /usr/lib/x86_64-linux-gnu/libcaca.so.0 (0x00007f05635f9000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f05633f0000)
libnvidia-tls.so.304.51 => /usr/lib/nvidia-current-updates/tls/libnvidia-tls.so.304.51 (0x00007f05631ed000)
libnvidia-glcore.so.304.51 => /usr/lib/nvidia-current-updates/libnvidia-glcore.so.304.51 (0x00007f0560e03000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0560beb000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0566f05000)
libpulsecommon-2.1.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-2.1.so (0x00007f056098e000)
libjson.so.0 => /usr/lib/x86_64-linux-gnu/libjson.so.0 (0x00007f0560784000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f0560540000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f0560322000)
libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2 (0x00007f055ff91000)
libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5 (0x00007f055fd64000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f055fb3c000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f055f931000)
libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f055f6cb000)
libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007f055f4c5000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f055f2c0000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f055f0ba000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f055eea0000)
libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f055ec53000)
libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f055e784000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f055e568000)
我下载了fs2open3616_1.0-1_amd64.deb使用软件中心安装它,并且我还根据命令安装了它所需的缺少的库文件(i386)ldd ./fs2_open_3.6.16
,如下所示sudo apt-get install liblua5.1-0:1386
(安装 i386 库后,我更新了的输出ldd ./fs2_open_3.6.16
)
这是错误:
错误:“未找到 Web 光标位图。这很可能是由于以下三个原因之一造成的:1) 您正在从 FreeSpace 2 文件夹以外的其他地方运行 FreeSpace Open;
2) 您以某种方式损坏了 FreeSpace 2 安装,例如通过修改或删除零售 VP 文件;
3) 您根本没有安装 FreeSpace 2。(请注意,安装 FreeSpace Open 并不会消除安装 FreeSpace 2 的需要。)
只需将 FreeSpace Open 可执行文件移动到 FreeSpace 2 文件夹即可修复第 1 个问题。安装或重新安装 FreeSpace 2 即可修复第 2 个和第 3 个问题。”at graphics/2d.cpp:645
答案1
介绍
在 Ubuntu 系统上设置 (FS2Open) 时可能会遇到许多复杂情况FreeSpace 2 Open
。原始零售版 Freespace 2 游戏数据仍然需要,因为 FS2Open 文件在一定程度上提供了一种在现代 Linux(和其他)系统上玩游戏的方法。由于官方游戏论坛是去的地方更一般指南在运行游戏时,我将集中精力解决如何编译启动器以及如何在 Ubuntu 上启动游戏。
托管了 FS2Open 的编译二进制文件(但不是启动器)在官方网站和也在这里,不过这些链接在后续版本中将会改变。
初始问题
1)我们已经部分解决了评论中的一些问题:
如果您在使用共享库时遇到问题,请运行
ldd ./name_of_fs2_binary
以查看是否找到了所有内容。如果没有,并且您使用的是 64 位系统,则可能需要安装i386
软件包的版本,例如,sudo apt-get install liblua5.1-0:i386
FS2Open 二进制文件的首次运行(无论是否遇到错误)都会创建
~/.fs2_open/fs2_open.ini
,其中将存储重要的图形设置,并且可以进行编辑手动或使用 进行设置wxlauncher
(见下文)。但是,必须使用其中一种方法正确设置它们。
主要问题
然而,为了解决游戏无法启动的最终问题,最简单的方法可能是编译并使用wxlauncher
,而不是手动创建启动脚本。
如果启动器要在编译和安装后运行,您必须具有:
- 正确安装了零售版游戏的原始 Freespace 2 数据文件,并确保权限正确。有关更多信息,请参阅官方游戏论坛. 需要说明的是,所有文件都必须小写否则游戏将找不到它们并会出现错误。
- 将下载的二进制文件移动
FreeSpace 2 Open
到游戏文件夹的顶层(/home/$USER/games/FreeSpace2
例如)。 已安装
openal
;但是,如果你决定手动配置游戏设置而不使用启动器,你仍然需要openal
安装sudo apt-get install libopenal1
编译和安装
现在开始编译和安装启动器。从官方网站并sha1
使用 检查签名sha1sum
。
像往常一样,需要相当多的依赖项。可以使用以下命令安装常用软件包:
sudo apt-get install cmake build-essential checkinstall
可以使用以下命令安装所需的特定软件包:
sudo apt-get install python python-dev python-markdown libwxgtk2.8-dev libwxbase2.8-dev libopenal1 libopenal-dev wx2.8-headers wx-common wx2.8-examples wx2.8-i18n libsdl1.2-dev libsdl1.2debian
这些是 12.04 上的软件包名称,但它们应该与 12.10 上的相同。下载附带的自述文件指出版本wxWidgets
应该是 2.8.10+,而不是 2.9.x。
使用终端,cd
进入您的下载文件夹并运行
tar -xzvf wxLauncher-0.9.1.tar.gz
现在,因为这是一个构建,cd
所以我们通常创建一个构建文件夹并移动到该文件夹:wxLauncher-0.9.1
cmake
mkdir build && cd build
接下来配置构建
cmake .. -DUSE_OPENAL=1
(对于调试版本添加,-DCMAKE_BUILD_TYPE=Debug
)
我发现下载中包含的自述文件中指定的另一个编译标志是不必要的,因为当程序安装checkinstall
并运行时,不会发生该特定错误,并且所有启动器的文件都能被正确找到。
现在,运行make
编译程序,然后从同一目录 (build) 运行
sudo checkinstall --pkgname=wxlauncher --provides=wxlauncher
并继续按回车键接受其他默认设置。
现在输入wxlauncher
,您将能够指定包含游戏数据和下载的 FS2Open 二进制文件的 FreeSpace 2 主文件夹的路径。您还可以设置选项并启动游戏(下面的屏幕截图):
确保选择了正确的 freespace 2 文件夹;检测到二进制文件时,选项就会出现。如果未检测到,请单击刷新并再次单击该框。
答案2
我通过安装 lua.i386 包解决了这个问题。然后,我liblua-5.1.so
在 中创建了一个/usr/lib
名为 的链接liblua5.1.so.0
。
sudo apt-get install liblua5.1-0:i386
然后,运行
sudo ln -s /usr/lib/liblua-5.1.so /usr/lib/liblua5.1.so.0
答案3
感谢这个程序 - 对我来说效果很好。我在使用 libjansson4 软件包时遇到了另一个问题 - 启动器启动正常,但当我运行 FS2 时,出现了“找不到软件包”错误。
我必须运行“sudo apt-get install libjansson4:i386”来解决问题。
我还想补充一点,我在构建 GTK yal 启动器时遇到了麻烦。在安装了构建 wxlauncher 所推荐的软件包后,它构建得很好。