Closed benthetechguy closed 1 year ago
Here's probably the issue: https://github.com/ProtonMail/proton-bridge/blob/73bb0ed03e043428759df10678ef734a132e3d51/internal/frontend/bridge-gui/bridge-gui/build.sh#L74-L85
As far as this script is concerned, ARM only exists on macOS.
If I simply replace x64
with arm64
in that line, I get this error: Error: sentry-native[core] is only supported on 'osx | (!arm & !uwp)'
. Thanks, Microsoft.
If I edit the sentry-native package file in vcpkg to remove this arbitrary restriction, in addition to changing x64 to arm64 in build.sh, it seems to build fine until the end where I run into the same problems as #346.
Thus, if I can get vcpkg upstream to remove that restriction, it looks like all that's left to solve the ARM-specific part of this is to fix your logic in build.sh to properly support architectures other than x86 on platforms other than just macOS.
Just a week ago I was able to build in a chroot on a Raspberry Pi with a 64bit Raspberry Pi OS (Debian bullseye).
Manually installed Go 1.20.5.
And with apt: apt install build-essential pkgconf libsecret-1-dev git
Then just: make build-nogui
Do you intentionally try to build the GUI variant?
Yes. One should be able to build the full application, not just nogui.
Before I started building for ARM, I was in contact with the support. It's currently the official status, that only "nogui" builds are supported. Answer I got:
At the moment, you should be able to compile Bridge for ARM64, however, without the GUI.
I'm not doubting that. I'm simply pointing out that all you would need to do to upgrade the "official status" to full GUI support would be to fix the logic in build.sh. The only other special thing that ARM needs to build is for VCPKG_FORCE_SYSTEM_BINARIES=1 to be set which is yet again vcpkg's fault.
Unfortunately, we don't support arm64 builds of Linux.
The non-gui version should compile correctly on arm64 starting with version 3.1.
My question is why? You have to change one single line and it works. Why not support it if it's this simple?
Even if it may be a simple as a one line change, if we fully wish to commit to supporting this new platform combo, it will require expanding our internal workflow to test, build, and verify the application on target hardware.
@LBeernaertProton Could this change in the future ? I am using Fedora on my macbook m1 pro and I can not use it.
@andirsun If this ever changes, it will be communicated.
In the mean time, you can follow the instructions in this thread.
In the mean time, I will provide ARM64 builds of proton-bridge with my one-line GUI patch: proton-bridge_3.5.4_arm64.tar.gz
@benthetechguy Did not work for me sadly, do you think we can create a unofficial flatpak for the arm64 version ?
It worked for me in Debian on my M1 Mac Mini. I have no experience in making Flatpaks, but nothing's stopping you. I will say definitely make your own repo instead of using Flathub.
@benthetechguy I am using fedora on macbook pro m1.
~/Downloads/proton-bridge_3.5.4_arm64(1)
❯ ./bridge-gui
./bridge-gui: error while loading shared libraries: libmd4c.so.0: cannot open shared object file: No such file or directory
Ah, you need to set LD_LIBRARY_PATH to include the bundled libraries.
Until Proton provides official aarch64/arm64 builds, i'll provide ready to install deb/rpms built with qt6.7 over at https://github.com/ArchitektApx/proton-bridge/releases
Ah I kind of forgot my promise to build every version arm64, thanks for taking over
Expected Behavior
Builds on arm64
Current Behavior
Fails to build on arm64, vcpkg seems to be trying to build abseil for x64
Steps to Reproduce
sudo apt install build-essential golang libglvnd-dev libsecret-1-dev libicu-dev libopengl-dev zip pkg-config cmake ninja-build qt6-declarative-dev qt6-svg-dev qt6-wayland-dev
)make build
Version Information
Current master
Build Log
Full log attached, important part here:
build.log install-x64-linux-dbg-out.log