openstenoproject/plover

Does not build on Debian Bullseye

Opened this issue · 1 comments

Describe the bug

The script linux/appimage/build.sh has the following line:

run cp -a "$pyprefix/lib/$pyldlib"* "$pyprefix/lib/$pypy3lib" "$pydist/lib/"

This will fail on Debian Bullseye (10), because the python3 binary does not link to libpython*.so. That is, the copy command fails because the files being copied don't exist, and are not needed. This can be fixed:

run cp -a "$pyprefix/lib/$pyldlib"* "$pyprefix/lib/$pypy3lib" "$pydist/lib/" || true

To Reproduce

On Debian Bullseye

linux/appimage/build.sh --python /usr/bin/python3 --wheel dist/plover-4.0.0rc2-py3-none-any.whl

Expected behavior

The App image should build.

Operating system

  • OS: Debian Bullseye (10)
  • Plover Version: 53c416f (ie., head as of 2023-10-19)

Hardware

x86_64

As a general note, it would be helpful if the AppImages were built against a conservative glibc... so, for example, using CentOS.

This is because, unfortunately, glibc cannot be statically linked.

Alternatively, the AppImage could be built on AlpineLinux, which is based on musl, which can be statically linked, which means that the AppImage depends only on the kernel itself.