edrlab / thorium-reader

A cross platform desktop reading app, based on the Readium Desktop toolkit
https://www.edrlab.org/software/thorium-reader/
BSD 3-Clause "New" or "Revised" License
1.81k stars 154 forks source link

GLIBC version in manual Linux builds should be older (automated TravisCI builds are ok) #1029

Closed Yodo13 closed 4 years ago

Yodo13 commented 4 years ago

Hello, thank you for this nice reader!

When trying to run "Thorium-1.3.0.AppImage" in Linux Mint I get the following JavaScript error:

Uncaught Exception: Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/.mount_ThoriuiZmLMO/resources/app.asar.unpacked/node_modules/leveldown/build/Release/leveldown.node) ...

and it won't start. But the DEBUG versions "Thorium-1.3.0-alpha.1.2291.AppImage" and "Thorium-1.3.1-alpha.1.2306.AppImage" both work fine.

I'm puzzled, because I thought AppImages are self-contained. I would prefer to use a main release version (and not update GLIBC).

danielweck commented 4 years ago

Thanks for letting us know!

The Linux CI builds ( https://github.com/readium/readium-desktop/releases ) are generated automatically from Travis Linux servers, which are probably configured differently than the Linux VM I use to generate the official/stable Thorium release ( https://github.com/readium/readium-desktop/releases/tag/v1.3.0 ).

What's your GLIBC version? (ldd --version)

danielweck commented 4 years ago

I think the bottom line is that the Linux system used to generate the official/stable Thorium builds should be an older baseline, as GLIBC is only backwards compatible. Failing that, users currently have to apt-get update && apt-get upgrade libc6 (which many might be reluctant to do), or have to download the automated TravisCI build (which does not support LCP protected publications).

Yodo13 commented 4 years ago

It's version 2.27.

I'm on Linux Mint 19.3, which is the latest. Other distro's may also still be at 2.27.

Thanks for your response.

llemeurfr commented 4 years ago

The pre-compiled version of Thorium 1.5 Linux will be built on a Ubuntu 20.04 machine (the latest LTS, 2020-2025). This will build the C based modules with GLIBC 2.31.

The version of GLIBC will then be frozen for future builds of Thorium (it means we'll stay on Ubuntu 20.04 for several years).

Therefore, Thorium 1.5 Linux with LCP support will run on machines using at least Ubuntu 20.04 or equivalent (with GLIBC 2.31 or higher).

Yodo13 commented 4 years ago

Thank you for coming back to this issue. I recently upgraded, and now I'm on GLIBC 2.31. So, I'm perfectly happy with this development.

llemeurfr commented 4 years ago

Let's close the issue now then. I hope that our choice will fit the needs of most Linux users (at least the techie ones).

danielweck commented 4 years ago

Related issue: https://github.com/edrlab/thorium-reader/issues/1156