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

Fatal error during compilation. #98

Open
OK9UWU opened this issue Apr 17, 2024 · 10 comments
Open

Fatal error during compilation. #98

OK9UWU opened this issue Apr 17, 2024 · 10 comments

Comments

@OK9UWU
Copy link

OK9UWU commented Apr 17, 2024

Tried to install CLOffline on my desktop machine (Debian 12 Bookworm) with all the listed dependencies installed.
However, compilation fails with "fatal error: QPermissions: No such file or directory"
image

Thanks.

@myzinsky
Copy link
Owner

Can you try it with Qt 6?

@myzinsky
Copy link
Owner

And you should try to use tagged version... Master might not be stable yet.

@OK9UWU
Copy link
Author

OK9UWU commented Apr 17, 2024

Can you try it with Qt 6?

I tried that aswell, however i couldn't find and install a module for location.
Same exact issues stops the tagged version from being compiled aswell.

Seems like there's no package for it available, might have to compile it from source, task for tomorrow.
image

@dg0yt
Copy link
Collaborator

dg0yt commented Apr 18, 2024

qt6-location is still in experimental in Debian:
https://packages.debian.org/search?searchon=names&keywords=qt6-location

But IMO the Location requirement can be relaxed to Positioning: #93.
Then you would only need qt6-positioning-dev which is available:
https://packages.debian.org/search?searchon=names&keywords=qt6-positioning

@OK9UWU
Copy link
Author

OK9UWU commented Apr 18, 2024

Ok yeah, that solved the dependency issue, however the initial QPermissions error is still there.
Now with additional fatal error: QtGui/qpa/qplatformwindow.h: No such file or directory to add to it.

Same error happens when compiling the cmake branch (after removing Location dependencies from it)

Qmake6
image

Cmake
image

@dg0yt
Copy link
Collaborator

dg0yt commented Apr 18, 2024

Ok yeah, that solved the dependency issue, however the initial QPermissions error is still there.

This is Qt6 stuff...

Now with additional fatal error: QtGui/qpa/qplatformwindow.h: No such file or directory to add to it.

This is private API, but the qmake build has the right modules.

Now that my PRs get merged, I will try to complete linux packaging.
(Draft: https://build.opensuse.org/package/show/home:dg0yt:branches:home:dg0yt/cloudlogoffline, still 1.1.4/Qt 5).

@dg0yt
Copy link
Collaborator

dg0yt commented Apr 19, 2024

Total state of requirements since 1.1.5:

  • The user interface (QML) needs at least Qt 6. Qt5 support would need re-adding major.minor versions numbers to the import statements. Polyfilling would be a significant effort. Continuous runtime testing mandatory.
  • QPermission (C++) needs at least Qt 6.5. Polyfilling would be feasible. Runtime testing optional.

Offered by major linux distros:

  • Debian 11 (Bullseye): 5.145. (6.4.2 only via backports.)
  • Debian 12 (Bookworm): 6.4.2
  • Debian 13 (Trixie): 6.4.2
  • Debian unstable (sid): 6.4.2
  • Ubuntu 20.04: 5.12.8
  • Ubuntu 22.04: 6.2.4
  • Ubuntu 24.04: 6.4.2

I will share the polyfill...

@dg0yt
Copy link
Collaborator

dg0yt commented Apr 21, 2024

  • The user interface (QML) needs at least Qt 6. Qt5 support would need re-adding major.minor versions numbers to the import statements. Polyfilling would be a significant effort. Continuous runtime testing mandatory.

Maybe this was too pessimistic. The number of QML files is fairly small, and most building blocks are available in Qt 5.12. Maintaining a copy of the files with minimal changes for Qt5 compatibility is feasible. Some refactorings could serve both modern and old Qt (Cf. #107). But separate interactive testing cannot be avoided.
However, the benefit is mostly for packaging for older Linux distros.

@dg0yt
Copy link
Collaborator

dg0yt commented Apr 21, 2024

Changes for Qt5 - and tentative binary packages with Qt5 for Linux: #110

@dg0yt
Copy link
Collaborator

dg0yt commented May 1, 2024

  • QPermission (C++) needs at least Qt 6.5. Polyfilling would be feasible. Runtime testing optional.

And for desktop, it needs at least Qt 6.6.

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