我的系统信息是这样的:
inxi -Sxx
System: Host: Milkybar-Computer Kernel: 4.15.0-46-generic i686 (32 bit gcc: 5.4.0)
Desktop: Unity 7.4.5 (Gtk 3.18.9-1ubuntu3.3) dm: lightdm
Distro: Ubuntu 16.04 xenial
我在 Ubuntu 软件商店找到了 pencil,这是一个有缺陷的夜间版本。因此,我去了它的官方网站,下载了最新的稳定版本,使用此链接。它的格式是 '.Appimage' 。因此,我检查了一下:什么是“AppImage”?如何安装它? 论坛,并采取了相应的措施。终端显示以下屏幕:
milkybar@Milkybar-Computer:~/Downloads$ chmod a+x pencil2d-linux-i386-0.6.2.AppImage
milkybar@Milkybar-Computer:~/Downloads$ ./pencil2d-linux-i386-0.6.2.AppImage./pencil2d-linux-i386-0.6.2.AppImage: /lib/i386-linux-gnu/libgcc_s.so.1: version `GCC_7.0.0' not found (required by /tmp/.mount_pencilDbmznO/usr/bin/../lib/libQt5Gui.so.5)
./pencil2d-linux-i386-0.6.2.AppImage: /lib/i386-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /tmp/.mount_pencilDbmznO/usr/bin/../lib/libpng16.so.16)
./pencil2d-linux-i386-0.6.2.AppImage: /lib/i386-linux-gnu/libgcc_s.so.1: version `GCC_7.0.0' not found (required by /tmp/.mount_pencilDbmznO/usr/bin/../lib/libicui18n.so.60)
./pencil2d-linux-i386-0.6.2.AppImage: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_pencilDbmznO/usr/bin/../lib/libpulsecommon-11.1.so)
./pencil2d-linux-i386-0.6.2.AppImage: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /tmp/.mount_pencilDbmznO/usr/bin/../lib/libsystemd.so.0)
./pencil2d-linux-i386-0.6.2.AppImage: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_pencilDbmznO/usr/bin/../lib/libsystemd.so.0)
milkybar@Milkybar-Computer:~/Downloads$
因此,我从这里 现在,终端显示:
milkybar@Milkybar-Computer:~/Downloads$ ./pencil2d-linux-i386-0.6.2.AppImage./pencil2d-linux-i386-0.6.2.AppImage: /lib/i386-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /tmp/.mount_pencilEkfHta/usr/bin/../lib/libpng16.so.16)
./pencil2d-linux-i386-0.6.2.AppImage: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_pencilEkfHta/usr/bin/../lib/libpulsecommon-11.1.so)
./pencil2d-linux-i386-0.6.2.AppImage: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /tmp/.mount_pencilEkfHta/usr/bin/../lib/libsystemd.so.0)
./pencil2d-linux-i386-0.6.2.AppImage: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_pencilEkfHta/usr/bin/../lib/libsystemd.so.0)
现在我该怎么做?
答案1
我是一名 Pencil2D 开发人员,实际上负责管理 32 位 Linux AppImage。此问题是由于我们的 AppImage 是使用比您拥有的版本更新的 glibc 版本构建的。来自 AppImage 文档:
AppImage 中使用的成分不应在比 AppImage 预期运行的最旧基础系统更新的基础系统上构建。某些核心库(如 glibc)往往会经常破坏与较旧基础系统的兼容性,这意味着二进制文件可以在较新的基础系统上运行,但不能在比编译二进制文件的基础系统更旧的基础系统上运行。
如果你遇到这样的错误
初始化失败:/lib/tls/i686/cmov/libc.so.6:未找到版本“GLIBC_2.11”
那么二进制文件是在比您尝试运行它的系统更新的系统上编译的。您应该使用在较旧系统上编译的二进制文件。不幸的是,问题在于发行版通常只在最新系统上编译应用程序的最新版本,这意味着您将很难找到在较旧系统上运行的前沿软件的二进制文件。解决这个问题的方法是自己在不是太新的基础系统上编译依赖项,和/或使用 LibcWrapGenerator 或 glibc_version_header 或 bingcc。
我们将研究建议的修复方法,以用于未来的版本,但与此同时,您还可以通过多种其他方式使用 Pencil2D。我推荐 Pencil2D 的Flathub 的 Flatpak。它的安装和使用与 AppImage 一样简单,目前错误较少。Pencil2D 也可以通过 apt 在 Ubuntu 上安装,但是 xenial 的最新版本已经过时,而且强力推荐您不使用它。最后,对于有抱负的人,可以从源代码构建应用程序。我们在这里提供了有关如何执行此操作的详细指南:https://github.com/pencil2d/pencil/wiki/Building-Pencil2D-on-Linux。