1

My system information is this:

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

I found pencil on Ubuntu software store, which was a buggy nightly build. So, I went ahead to its official site and downloaded its latest stable version using this link. It was in the form of '.Appimage' . So, I checked this:What is an "AppImage"? How do I install it? forum, and did accordingly. Terminal shows the following Screen:

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$ 

So, I installed GCC-7 from here Now, terminal shows:

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)

What do I do Now?

Milkybar
  • 33
  • 10

1 Answers1

3

I am a Pencil2D developer and am actually the one responsible for managing the 32-bit Linux AppImage. This issue is a result of our AppImage being built with a newer version of glibc than the version you have. From the AppImage documentation:

The ingredients used in your AppImage should not be built on a more recent base system than the oldest base system your AppImage is intended to run on. Some core libraries, such as glibc, tend to break compatibility with older base systems quite frequently, which means that binaries will run on newer, but not on older base systems than the one the binaries were compiled on.

If you run into errors like this

failed to initialize: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.11' not found

then the binary is compiled on a newer system than the one you are trying to run it on. You should use a binary that has been compiled on an older system. Unfortunately, the complication is that distributions usually compile the latest versions of applications only on the latest systems, which means that you will have a hard time finding binaries of bleeding-edge softwares that run on older systems. A way around this is to compile dependencies yourself on a not too recent base system, and/or to use LibcWrapGenerator or glibc_version_header or bingcc.

We will look into the suggested fixes for future releases, but in the mean time there are multiple other ways you can use Pencil2D. I would recommend Pencil2D's Flatpak from Flathub. It's about as easy to install and use as the AppImage and is currently less buggy. Pencil2D can also be installed on Ubuntu through apt, however the last version available for xenial is obsolete and it is strongly recommended that you do not use it. Finally, for the ambitous, the application can be built from source. We provided a detailed guide on how to do this here: https://github.com/pencil2d/pencil/wiki/Building-Pencil2D-on-Linux.