ProtonMail / proton-bridge

Proton Mail Bridge application
GNU General Public License v3.0
1.14k stars 155 forks source link

Bridge v3 download does not provide system requirements information #358

Closed kortschak closed 1 year ago

kortschak commented 1 year ago

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

Site should provide information of system requirements or maintain flexible version requirements that support more platforms.

Current Behavior

No warning of glibc version requirement and a crash on start.

/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/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[Mar 11 16:27:19.005] 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=3.0.20

Possible Solution

Don't use restrictive versioning policies, TBH don't use Qt, or at the very least warn of requirement.

Steps to Reproduce

  1. Try to run bridge on a system with libc2.27
  2. ...

Version Information

In the terminal output above.

Context (Environment)

Detailed Description

Possible Implementation

LBeernaertProton commented 1 year ago

Hey @kortschak. The minimum required version is we support is ubuntu 20.04. If you need to run on something older, you will have to compile everything from source, including Qt6.

kortschak commented 1 year ago

The minimum required version is we support is ubuntu 20.04

It would be nice to have this information written somewhere prominent. Please note that this issue should not be closed, the issue says "or at the very least warn of requirement.".

I've built w/o locally using the command line only edition, so that's a double win, no toxic Qt sludge running.

savoury1 commented 1 year ago

The minimum required version is we support is ubuntu 20.04. If you need to run on something older, you will have to compile everything from source, including Qt6.

As a paying ProtonMail customer for three years here is my feedback on this new change: it's completely absurd. What possible technical reasons are there for requiring this Ubuntu version for such a small piece of software as ProtonMail Bridge? So now you exclude paying ProtonMail users such as myself who happen to prefer an older and more reliable and faster operating system, which runs better on my older hardware, from getting new features and updates to ProtonMail Bridge.

Know that I still successfully build the latest Chromium versions for Ubuntu 16.04 LTS, with Chromium being one of the largest and most complex pieces of software out there these days. Ubuntu 16.04 LTS still has security updates for years to come thanks to the ESM (Extended Security Maintenance) program, and it happens to work better on my hardware. Yet now because of this completely nonsensical requirement for newer glibc than in Ubuntu 16.04 LTS -- a system that as I say can still build and run latest Chromium completely fine -- no more ProtonMail Bridge updates for me as a several years paying customer.

What is this attitude with so many "tech" people that everyone supposedly has to have some newer version of whatever operating system? What about ProtonMail providing support for your current paying users, even when they choose an older OS that works better for them? Really, this move is just ridiculous.

To the ProtonMail tech team: please build and provide an official version of ProtonMail Bridge that works with older glibc, just as version 2.3.0 does. Thank you.

LBeernaertProton commented 1 year ago

Hey @savoury1 we had to move away from Qt5 to properly support the new ARM based Macs. We are using the public release libraries of Qt6 which have Ubuntu 20.04 listed as the minimum supported version (full details here). While it may be possible to get Qt6 running on older distros, we currently do not have the capacity to maintain and provide support for custom Qt6 builds.

Additionally, our dependency, Gluon, also has C++ libraries that are built on Ubuntu 20.04. If GUI is of no importance to you, in our next major release (3.1) we have reworked Gluon to not depend on the C++ libraries. In that case you should be able to build the non-gui version of bridge without issues on your device.

kortschak commented 1 year ago

Gluon, also has C++ libraries that are built on Ubuntu 20.04

Without the requirement to build Qt, the bridge build on 18.04 without issue. The real pity is that Qt is stuck with when there are far better cross-platform UI frameworks that are Go-native and build fine on arm.

LBeernaertProton commented 1 year ago

@kortschak, out of curiosity, could you list some of these frameworks?

kortschak commented 1 year ago

Gio and Fyne are two well-like frameworks. I've personally used Gio on a librem5 and it works well, others speak well of Fyne.

savoury1 commented 1 year ago

we had to move away from Qt5 to properly support the new ARM based Macs.

So why not offer a build based on Qt5 for the vast number of users who are not using "experimental" new hardware from a massive corporate behemoth?

While it may be possible to get Qt6 running on older distros, we currently do not have the capacity to maintain and provide support for custom Qt6 builds.

Well, I'm one single guy who has shown that all sorts of things are possible with a little dedication, including Qt6 builds that work fine on all Ubuntu LTS versions from 16.04 Xenial onwards:

https://launchpad.net/~savoury1/+archive/ubuntu/qt-6-2

On the other hand, Proton AG (who provide the ProtonMail service) is a for-profit entity with however many employees, yet you are saying you cannot do what a single guy, being me, has done without too much trouble. It doesn't make any sense.

Once again, I'm a paying customer. An absolutely key thing that I'm paying Proton AG / ProtonMail for is the Bridge application, and I certainly should not be getting asked to build the software myself! It's what I'm paying for already, so please build and provide a version that works fine on my particular choice of operating system. Thank you.

andrzejsza commented 1 year ago

It's not a vast number of users, and M1 chips are hardly experimental. Of course everything is possible, but as mentioned we don't have bandwidth to build/test on every particular choice of operating system. Our dependencies are clearly stated, and older builds are available to use. The latest one using qt5 is https://github.com/ProtonMail/proton-bridge/releases/tag/v2.3.0 We don't encourage anyone to use older version though, as of course they are lacking all the relevant updates. Agreed with OP that we should be staying our system requirements much clear and we're working on it. We won't be working on Qt5 build though. Also agreeing with the OP that the historical choice to use Qt is clearly proving to be sub-optimal. We're planning to work on the headless solutions more, as rewriting the fronted at this stage is not something we can afford.

savoury1 commented 1 year ago

as mentioned we don't have bandwidth to build/test on every particular choice of operating system

Every particular choice? Really? You are excluding people running a still mainstream supported (not even ESM support level) Ubuntu version known as 18.04 Bionic, which does not have the new enough glibc either. All versions of Bridge earlier than this 3.0.x release ran fine not only on 18.04 Bionic but on 16.04 Xenial. Again, there is no valid technical reason to exclude such users from a current build of Bridge, the only reasons you and others responding here have given are that you supposedly don't have the resources to do what you were already doing for years. That makes no sense whatsoever!

This type of decision by companies such as Proton AG is indicative of all that is wrong with the tech industry. Marginalise those who don't want/need to run the newer operating systems for whatever their own valid reasons (ie. older system works much better and faster on older hardware) by forcing new and unnecessary version constraints on critical software such as Bridge. The whole thing stinks, to put it bluntly. Have also submitted a formal complaint via the support system on protonmail.com that I have asked to be sent to management, so that they can review this situation.

andrzejsza commented 1 year ago

Yeah we can debate if developing technologies that are more reliable and secure while focusing on the most common configurations is wrong or not. We for sure would love to build, test and deliver Bridge software to everyone, but I'm sure you understand the line has to be drawn somewhere, and there will always be someone left behind. I'm sure your complaint will be reviewed and answered via appropriate channels. Will hide the recent off topic comments to keep the conversation in line with the OP request.

savoury1 commented 1 year ago

Yeah we could debate it, but what a waste of time that would be. I don't debate facts with people who are clearly uninterested. Who says the "developing technologies" are more reliable and secure? In much of my 40 years experience with computers, the "developing" stuff is very often less reliable and less secure, because it hasn't been road tested long enough to even know what all the many new bugs are that it brings. The fact is, you are dumping paying customers who are running perfectly legitimate and still supported operating systems. Poor choice, and then hiding the comments as off topic eh? Another poor choice. You'll no doubt hide this one too, due it not fitting your "paradigm" of life. All the best to you and those like you, you aren't helping this be a better world.

LBeernaertProton commented 1 year ago

The system requirements are available at: https://proton.me/support/operating-systems-supported-bridge

kortschak commented 1 year ago

@LBeernaertProton There should probably be a link to that on the download page. Otherwise you are expecting behaviour that this was describing:

“But the plans were on display…” “On display? I eventually had to go down to the cellar to find them.” “That’s the display department.” “With a flashlight.” “Ah, well, the lights had probably gone.” “So had the stairs.” “But look, you found the notice, didn’t you?” “Yes,” said Arthur, “yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying ‘Beware of the Leopard.”

andrzejsza commented 1 year ago

very true. added that to the main Bridge page. https://proton.me/mail/bridge

kortschak commented 1 year ago

Thanks @andrzejsza