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

Version 3.0.18 Build issues (icu56, "/usr/qml" No such file or directory.) #346

Open
molaeiali opened this issue Feb 25, 2023 · 4 comments

Comments

@molaeiali
Copy link

I'm trying to build this package for AUR, there are some problems:

The first problem is it depends on an old version of icu, I don't understand why it needs icu-56 and not using the latest version, the newest version is 72, but the program needs:

/usr/lib/libicui18n.so.56
/usr/lib/libicuuc.so.56
/usr/lib/libicudata.so.56

Second problem: When I proceed with icu 56 anyway, Looks like it's trying to install files from /usr/qml to somewhere, and it can't, there is /usr/bin/qml available and Qt6 is installed, Don't know why is it trying to do that. Here's the error log:

+ cmake --install ./cmake-build-release
-- Install configuration: "Release"
-- Installing: PATH/src/proton-bridge/cmd/Desktop-Bridge/deploy/linux/bridge-gui
-- Set runtime path of "PATH/src/proton-bridge/cmd/Desktop-Bridge/deploy/linux/bridge-gui" to "$ORIGIN:$ORIGIN/../lib:$ORIGIN/lib"
CMake Error at cmake-build-release/cmake_install.cmake:87 (file):
  file INSTALL cannot find "/usr/qml": No such file or directory.

Version Information

Proton Bridge 3.0.18
qt6-6.4.2
icu-56.2

@themobiusproject
Copy link

#347 fixes the ICU issue.
I've been looking into the qml issue myself because I almost have this building on my own box. At the moment I have been copying bridge-gui from cmd/Desktop-Bridge/deploy/linux/bridge-gui to where I want it.

@themobiusproject
Copy link

As for the qml issue, I don't see anywhere that QT_DIR is ever defined. It is used in the Deploy${DEPLOY_OS}.cmake and FindQt.cmake files.

@molaeiali
Copy link
Author

Any updates or comments about this issue? @cuthix

@akiba-geek
Copy link

akiba-geek commented Mar 27, 2023

Check PATH for qmake, it seems that it's necessary to define QT6DIR.
Then, on terminal, check QT_INSTALL_PREFIX with qmake -query

I actually get QT_INSTALL_PREFIX:/usr there, which would explain this error. I use qt6-base from the Arch Linux extra repository.

https://stackoverflow.com/questions/913642/qmake-and-qt-install-prefix-how-can-i-select-a-new-location-for-qt-library

A temporary fix might be to add a qt.conf file in /usr/lib/qt6/bin/qmake with

[Paths]
Prefix = /usr/bin

A better way to deal with this is to see if the environment variable QT_INSTALL_BINS:/usr/bin exists on other distros/windows/darwin. If it does, use that instead of QT_INSTALL_PREFIX. However, I don't see any issues being filed from other distros and OSes, which leads me to suspect this may be something upstream, exclusive to Arch Linux. :/

notes:

Up until v2.3.0, they seem to have been using .qml files bundled with the source code, but from v2.4.0, they seem to be using .qml files from the Qt Resource System. It must coincide with GODT-1551, the upgrade to Qt6.

In addition, there's something about QT6DIR having to be defined at build:
#302 (comment)

Which was then fixed at v2.4.5 with GODT-1942: Use qmake to find the QT6DIR. It also then does this:

execute_process(COMMAND "${QMAKE_EXE}" -query QT_INSTALL_PREFIX OUTPUT_VARIABLE QT_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)

which queries QT_INSTALL_PREFIX in qmake. This returns /usr on my system. The output is then defined as QT_DIR.

They make this clear in the BUILDS.md

Please note that qmake path must be in your `PATH` to ensure Qt to be found.

The /qml part comes from here:

QString const qrcQmlDir = "qrc:/qml";

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

3 participants