Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protonmail Bridge 2.4.8 fails to launch on Linux Mint 19.3 due to newer required glibc version #312

Closed
jangxx opened this issue Nov 24, 2022 · 9 comments
Labels
wontfix This will not be worked on

Comments

@jangxx
Copy link

jangxx commented Nov 24, 2022

Issue tracker is ONLY used for reporting bugs with technical details. "It doesn't work" or new features should be discussed with our customer support. Please use bug report function in Bridge or contact bridge@protonmail.ch.

Expected Behavior

The bridge starts.

Current Behavior

The bridge fails to start with the following message in the terminal:

INFO[Nov 24 09:18:21.583] No more updates found, looking up bridge executable  error="no available newer versions" exe_to_launch=bridge-gui launcher_path=/usr/lib/protonmail/bridge/proton-bridge launcher_version=2.4.8
/usr/lib/protonmail/bridge/bridge-gui: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /usr/lib/protonmail/bridge/bridge-gui)
/usr/lib/protonmail/bridge/bridge-gui: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /usr/lib/protonmail/bridge/lib/libQt6Core.so.6)
FATA[Nov 24 09:18:21.585] Failed to launch                              error="exit status 1" exe_path=/usr/lib/protonmail/bridge/bridge-gui exe_to_launch=bridge-gui launcher_path=/usr/lib/protonmail/bridge/proton-bridge launcher_version=2.4.8

Possible Solution

Version 2.3.0 worked without issues but it seems like a recent update has raised the required glibc version.
Unfortunately it's downright impossible to update glibc without breaking the entire system, so a solution for this would be to downgrade the internal requirements to an older version which doesn't require this new version of glibc (I'm suspecting Node 18 might be the culprit here. Node 16 still works fine)

Steps to Reproduce

  1. Enter protonmail-bridge in the terminal.

Version Information

2.4.8 while 2.3.0 still worked.

Context (Environment)

Detailed Description

I haven't looked at the code of the bride yet, but I'm guessing this is related to the bridge using Electron (i.e. Node) and this issue: nodejs/node#42351
The only fix seems to be to downgrade to Node 16, which I would appreciate. Linux Mint 19 is still within the LTS lifespan, same as Ubuntu 20, so it should still be supported by software such as this imo.

Possible Implementation

@gabor-meszaros
Copy link
Collaborator

Hi @jangxx, Thank you for reporting this. Bridge doesn't use Electron or Node, the GLIBC dependency comes from Qt 6. I am not familiar with Linux Mint 19, but it can be that it comes with an older GLIBC and that it is difficult to upgrade. Unfortunately, we cannot prioritize supporting older GLIBC. In case you cannot update to a newer version of Linux Mint, you can try to recompile Qt 6, and then to compile Bridge with that Qt 6.

@Ammako
Copy link

Ammako commented Dec 2, 2022

Note that LTS only means that your OS vendor will continue to provide security updates. Third-party app publishers aren't (and shouldn't be) beholden to this.

Also note that Mint 19 is Ubuntu 18, not 20. It will reach end of life next April. Is there a reason why you can't upgrade?

@dngray
Copy link

dngray commented Dec 5, 2022

I had this when using a PM Bridge docker container, rebasing on jammy fixed it for me shenxn/protonmail-bridge-docker#71

@Ammako
Copy link

Ammako commented Dec 5, 2022

Yup, only Ubuntu 22 even has Qt6 currently

https://packages.ubuntu.com/search?keywords=Qt6&searchon=names&section=all

It may be possible to backport Qt6 to Ubuntu 18 and 20, but I would strongly encourage users to just upgrade to 22 rather than relying on older software.

For those who really don't want Ubuntu 22, I would recommend looking into a different distro (Arch/Fedora?) because you won't really have a choice but to upgrade past Ubuntu 18/20 eventually, so you might as well just get it done sooner rather than later. If anybody needs help upgrading or migrating to a different distro, I'm happy to help.

@dngray
Copy link

dngray commented Dec 5, 2022

It may be possible to backport Qt6 to Ubuntu 18 and 20, but I would strongly encourage users to just upgrade to 22 rather than relying on older software.

I don't even know if that would be easy, and I would rather see PM spend resources on getting bridge v3 stable as opposed to trying to support some insert ancient distribution.

@Ammako
Copy link

Ammako commented Dec 5, 2022

Oh, it wouldn't be Proton's job to backport Qt6. There are procedures for getting stuff backported.

https://wiki.ubuntu.com/UbuntuBackports

Though I'm not sure if they'd approve something like the entire Qt6 suite being backported, but it's always possible to have an unofficial PPA with backported packages, as long as someone's willing to do the work.

@jangxx
Copy link
Author

jangxx commented Dec 5, 2022

@Ammako

It will reach end of life next April. Is there a reason why you can't upgrade?

The only reason I haven't upgraded is because I haven't found the time yet. I will definitely do it before April though.

Third-party app publishers aren't (and shouldn't be) beholden to this.

I'm aware of this, I only wrote that because I think that software dealing with encryption and other security critical stuff should be at least somewhat backwards compatible so that people who can't upgrade their OS every year are not suddenly forced to run insecure software. Of course using the LTS cycle is completely arbitrary, I merely used it to point out the fact that the OS is not really all that old (Linux Mint 19.3 came out in December 2019) and still officially supported even.

@Ammako
Copy link

Ammako commented Dec 5, 2022

For what it's worth, you're already running insecure software by holding onto an old OS. Does Ubuntu 18 even properly support Wayland?

It's not realistic to expect third-party app developers to support every possible flavor and version of every Linux distribution just because their creators have decided that they're supporting them. How many would that even be? and how many different configurations?

For Windows and macOS it's fair, there's only a small amount of versions that exist with official support at any given time, and the differences between each are relatively minimal, but with Linux you're looking at several dozen different distributions that might each have 3-4+ older versions claiming to have official long-term support, and for each of them you can't even count on everything being configured the same way.

In the Linux world I don't believe there is such a thing as not being able to upgrade your OS every year. It's free, and the system requirements are minimal. Even if you couldn't run the latest version of XYZ distro, there's always going to be another, lighter distro available that should be able to run on your hardware. The linux kernel is generally backwards-compatible with older hardware (it's newer hardware that tends to struggle.)

There comes a point where it's up to the user to update their system, rather than expecting every third-party developer they rely on to go the extra mile to accomodate for them.

@Ammako
Copy link

Ammako commented Dec 5, 2022

Note: if you really can't upgrade at the moment, you may be able to use the nogui build, which I'd expect to not depend on Qt (make build-nogui)

This will be command line-only, but might be your best bet at running newer versions of the app on OSes that don't support Qt6.

Alternatively, you should be fine sticking with 2.3.0 until you can upgrade. It shouldn't really be any less secure than the newer versions; in fact you should have received an email from Proton telling you that 2.3.0 will be the oldest supported version from now on. If it were insecure, they'd have discontinued it.

@gabor-meszaros gabor-meszaros added the wontfix This will not be worked on label Dec 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

4 participants