Skip to content

Remove the use of deprecated QT methods allowing it to build on ArchL…#1132

Closed
wjarka wants to merge 1 commit into
DistroAV:masterfrom
wjarka:master
Closed

Remove the use of deprecated QT methods allowing it to build on ArchL…#1132
wjarka wants to merge 1 commit into
DistroAV:masterfrom
wjarka:master

Conversation

@wjarka

@wjarka wjarka commented Nov 5, 2024

Copy link
Copy Markdown

…inux

When I tried to build this plugin on ArchLinux I was getting errors on those methods. Here is a proposed fix

@wjarka

wjarka commented Nov 5, 2024

Copy link
Copy Markdown
Author

Potentially fixes: #1108

@BitRate27

BitRate27 commented Nov 5, 2024

Copy link
Copy Markdown
Contributor

Thanks for contributing!
The deprecated methods should not be causing a build to fail. They should be just warnings. In any event, this appears to have been an oversight when they rolled back the Qt version from 6.7 back to 6.6.

Where do you get the Qt libraries for the linux build of this plugin? The script should look something like this:

sudo apt install \
       qt6-base-dev \
       qt6-base-private-dev \
       libqt6svg6-dev \
       qt6-wayland \
       qt6-image-formats-plugins

We cannot accept this PR for the same reason we couldn't accept the last PR, because it will break the windows and macos builds. If you can look into how to get the proper Qt dependencies fetched (6.6) for linux builds, we could entertain that PR.

@wjarka

wjarka commented Nov 5, 2024

Copy link
Copy Markdown
Author

I am on Arch Linux and had pretty much the same error (not warning) as in #1108

pacman packages differ from apt and Arch in most cases uses the newest packages available. So whatever was deprecated and then removed in 6.9 was no longer available under ArchLinux.

I understand that only Ubuntu/Debian is officially supported, so just wanted to share how I fixed it.

Will post a link to this PR in 1108 just for the reference in case more Arch folks had a problem with it.

I understand you can't accept it if it breaks Mac / Windows, thanks for taking the time to explain!

@BitRate27

BitRate27 commented Nov 5, 2024

Copy link
Copy Markdown
Contributor

If you are not getting a deprecated API warning, but rather a compile error for unknown API, then the Linux builds are now picking up 6.9, where the old API is removed.

If this is the case then the officially supported Linux would probably fail to build also.

Is it possible for you to modify DistroAV's .github/scripts/utils.zsh/setup_linux script around line 109 to fetch the 6.6 version of Qt, instead of the latest. I would do it, but I am not setup to build and test on Linux.

@RayneYoruka

Copy link
Copy Markdown
Member

but I am not setup to build and test on Linux.

I only test on Ubuntu/Fedora, Someone would have to test on arch/arch based distro

@Trouffman

Copy link
Copy Markdown
Collaborator

@wjarka Thank you for the PR.

The functions you are referring to is only set to be deprecated in QT 6.9.

There is also some challenge using this suggested replace function setTimezone() as some known challenges prior to Qt 6.7

As the time of this post (OBS 30.2.3 // pre OBS 31) the Qt version for building plugin is still 6.6.3. This will evolve and all deprecated function should be addressed at this time as we cannot push faster than OBS.

To solve the arch compiling this will be addressed in the issue.

@Trouffman

Copy link
Copy Markdown
Collaborator

@wjarka This have been merged from the PR #1151

It address your need and some additionnal error management.

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

Successfully merging this pull request may close these issues.

4 participants