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

Will not build in Fedora 38 #462

Open
doggodanubus opened this issue Feb 20, 2024 · 5 comments
Open

Will not build in Fedora 38 #462

doggodanubus opened this issue Feb 20, 2024 · 5 comments

Comments

@doggodanubus
Copy link

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

It should build without error

Current Behavior

I get this error
error.txt

Possible Solution

Steps to Reproduce

  1. clone git
  2. enter directory
  3. make build
  4. fails

Version Information

latest git as of 2/20/24

Context (Environment)

Detailed Description

Possible Implementation

@LBeernaertProton
Copy link
Collaborator

Hey @doggodanubus , are you using the official go release binaries? We had a similar issue to yours in the past that was resolved by just switching to the official release binaries rather than the distro provided package.

@doggodanubus
Copy link
Author

I removed the installed GO and used GO 1.22 You're using an old version of some libraries. I edited the files to change that to 73. Then I got a missing qml error. There are two errors below.

`-- Bridge version is 3.9.1+git
-- Found qmake at /usr/bin/qmake
-- Found Protobuf: /home/jcaldwel/Downloads/proton-bridge/extern/vcpkg/installed/x64-linux/tools/protobuf/protoc (found version "3.21.12.0")
-- Using protobuf 3.21.12.0
-- Found c-ares: /home/jcaldwel/Downloads/proton-bridge/extern/vcpkg/installed/x64-linux/share/c-ares/c-ares-config.cmake (found version "1.19.0")
-- Found RE2 via CMake.
-- Using gRPC 1.51.1
-- protoc found /home/jcaldwel/Downloads/proton-bridge/extern/vcpkg/installed/x64-linux/tools/protobuf/protoc
-- grpc_cpp_plugin
-- grpc_cpp_plugin found at /home/jcaldwel/Downloads/proton-bridge/extern/vcpkg/installed/x64-linux/tools/grpc/grpc_cpp_plugin
-- The C compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib64/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found Python: /usr/bin/python3.12 (found version "3.12.1") found components: Interpreter
CMake Warning (dev) at /usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:3119 (message):
The FILENAME_VARIABLE keyword is deprecated and will be removed soon.
Please use OUTPUT_SCRIPT instead.
Call Stack (most recent call first):
/usr/lib64/cmake/Qt6Core/Qt6CoreMacros.cmake:3216 (qt6_generate_deploy_app_script)
CMakeLists.txt:174 (qt_generate_deploy_app_script)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at DeployLinux.cmake:34 (message):
libicui18n.so.56 was not found in /usr/lib/
Call Stack (most recent call first):
DeployLinux.cmake:43 (AppendLib)
DeployLinux.cmake:57 (AppendQt6Lib)
CMakeLists.txt:187 (include)

CMake Error at DeployLinux.cmake:34 (message):
libicuuc.so.56 was not found in /usr/lib/
Call Stack (most recent call first):
DeployLinux.cmake:43 (AppendLib)
DeployLinux.cmake:58 (AppendQt6Lib)
CMakeLists.txt:187 (include)

CMake Error at DeployLinux.cmake:34 (message):
libicudata.so.56 was not found in /usr/lib/
Call Stack (most recent call first):
DeployLinux.cmake:43 (AppendLib)
DeployLinux.cmake:59 (AppendQt6Lib)
CMakeLists.txt:187 (include)

-- Configuring incomplete, errors occurred!

  • check_exit 'CMake failed'
  • '[' 1 -ne 0 ']'
  • echo 'Process failed: CMake failed'
    Process failed: CMake failed
  • rm -r ./cmake-build-release
  • exit 1
    make: *** [Makefile:157: cmd/Desktop-Bridge/deploy/linux/bridge] Error 1
    tower:proton-bridge$`

-- Set runtime path of "/home/jcaldwel/Downloads/proton-bridge/cmd/Desktop-Bridge/deploy/linux/bridge-gui" to "$ORIGIN:$ORIGIN/../lib64:$ORIGIN/lib" CMake Error at cmake-build-release/cmake_install.cmake:87 (file): file INSTALL cannot find "/usr/qml": No such file or directory.

@doggodanubus
Copy link
Author

Similar or same issue to #346

@doggodanubus
Copy link
Author

If you've had issues compiling; this is what I've found.

Fix Go
Fix ICU versions
Fix unable to find QT library folders.

1) Eviscerate your distributions Go from your system. Install at least Go 1.22 as of this post. I installed it in opt as that will survive when local won't. YMMV

2) Manually change DeployLinux.cmake to the current ICU release not the ancient one.

--- DeployLinux.cmake.back	2024-02-21 23:14:59.558137042 -0500
+++ DeployLinux.cmake	2024-02-21 23:15:16.734067672 -0500
@@ -54,9 +54,9 @@
 AppendQt6Lib("libQt6Core.so.6")
 AppendQt6Lib("libQt6QuickTemplates2.so.6")
 AppendQt6Lib("libQt6DBus.so.6")
-AppendQt6Lib("libicui18n.so.56")
-AppendQt6Lib("libicuuc.so.56")
-AppendQt6Lib("libicudata.so.56")
+AppendQt6Lib("libicui18n.so.73")
+AppendQt6Lib("libicuuc.so.73")
+AppendQt6Lib("libicudata.so.73")
 AppendQt6Lib("libQt6XcbQpa.so.6")
 AppendQt6Lib("libQt6WaylandClient.so.6")
 AppendQt6Lib("libQt6WlShellIntegration.so.6")

I cannot figure out what is screwed up with QT. Nothing I did would work to get those folders to detect right. I don't think this is the bridge code but probably due to something local to my system. I hard coded the locations to the library folder and it compiles and works now. This may not apply to you unless you get an error about a missing qml or /usr/qml

3) Change the top line below in DeployLinux.cmake with the lower one with direct links.

-install(DIRECTORY "${QT_DIR}/qml" "${QT_DIR}/plugins" 
+install(DIRECTORY "/usr/lib64/qt6/qml" "/usr/lib64/qt6/plugins"

This has gotten it to compile and it's survived testing and seems to work ok.

@LBeernaertProton
Copy link
Collaborator

We are currently using the official binary releases of a given version of Qt to ship. Our build scripts are written to work against that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants