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

Update Qt version for Mac Legacy build #3234

Open
softins opened this issue Feb 15, 2024 · 17 comments · May be fixed by #3235
Open

Update Qt version for Mac Legacy build #3234

softins opened this issue Feb 15, 2024 · 17 comments · May be fixed by #3235
Assignees
Labels
tooling Changes to the automated build system

Comments

@softins
Copy link
Member

softins commented Feb 15, 2024

What is the current behaviour and why should it be changed?

Currently, the Mac Legacy build uses Qt 5.9.9. It is then able to run on MacOS 10.10 (Yosemite) or later. There are some issues with this:

  • The automated build in the CI shows a lot of warnings with this version of Qt, although the build does succeed.
  • We want to remove the .qm translations files from the repo and have them only built by the Makefile, using the lrelease config entry in qmake. See Build: Generate qm files and embedded resource during build #2393.
  • The lrelease functionality in qmake is only available in Qt 5.12 or later.

Describe possible approaches

The compatibility matrix of Qt versions and minimum MacOS version is as follows:

Qt version Minimum MacOS
5.9 10.10 (Yosemite)
5.10 10.11 (El Capitan)
5.11 10.11
5.12 10.12 (Sierra)
5.13 10.12
5.14 10.13 (High Sierra)
5.15 10.13
6.0 10.14 (Mojave)
6.1 10.14
6.2 10.14
6.3 10.14
6.4 10.14
6.5 11 (Big Sur)
6.6 11

So if we updated the Mac Legacy build to Qt 5.12, we would support 10.12 Sierra onwards. If instead we updated to Qt 5.15, we would support 10.13 (High Sierra) onwards.

The main (non-legacy) MacOS build uses Qt 6.6.1 and therefore only supports MacOS 11 Big Sur or newer. I would expect there still to be demand for supporting at least 10.14 Mojave and 10.15 Catalina for a while yet, and so the Legacy release build is still worthwhile. My own Mac is running Catalina and currently fails to upgrade to Big Sur.

I would favour using Qt 5.15 and therefore dropping support for 10.12 Sierra and older.

Has this feature been discussed and generally agreed?

Not yet.

@softins softins self-assigned this Feb 15, 2024
@softins softins added the tooling Changes to the automated build system label Feb 15, 2024
@softins softins linked a pull request Feb 15, 2024 that will close this issue
5 tasks
@ann0see
Copy link
Member

ann0see commented Feb 17, 2024

I'd like to do an incremental change and use the oldest possible Qt version.
We already had posts about old windows versions. -> Use 5.12

@ann0see
Copy link
Member

ann0see commented Feb 17, 2024

Hmm. Ok. Wikipedia says that all devices can update from Sierra to high sierra. So maybe we can indeed move up.

@ann0see
Copy link
Member

ann0see commented Feb 28, 2024

Maybe it makes sense to delay this after the TCP support for more compatibility

@softins
Copy link
Member Author

softins commented Feb 28, 2024

Maybe it makes sense to delay this after the TCP support for more compatibility

The TCP support is quite an involved project, and there are simpler things I want to do in parallel with it. This being one of them, also the Ubuntu CI one, so that all our CI builds are using at least Qt 5.12 and preferably 5.15 or later. The reason for that is so that we can remove the .qm files from the repo and have lrelease build them from the Makefile generated by qmake.

@ann0see
Copy link
Member

ann0see commented Feb 29, 2024

I understand, however I'd prefer to have older versions having the latest "under the hood improvements" if that's the way to move forward before we drop support. This helps longer them to have longer support. We can drop the whole translation feature for it if needed before updating.

@softins
Copy link
Member Author

softins commented Feb 29, 2024

Hmm, that's frustrating. I think dropping translations would be a poorer choice than dropping support for archaic versions of macOS. How about if we went to Qt 5.12 first then, instead of 5.15 for Mac Legacy? That would just drop Yosemite and El Capitan, but retain Sierra.

Regarding "under the hood improvements", I believe TCP support and IPv6 directories should be released together and are significant enough to be called Jamulus 4.0.0. That would then be a point at which we could also drop support for Sierra. But I don't want other worthwhile improvements to be stalled waiting for that to happen.

@ann0see
Copy link
Member

ann0see commented Feb 29, 2024

I mean the thing is that then people on those versions would be stuck.
If we don't think that's a value ok. Unfortunately it seems as if people still asked on the forums for legacy OS - especially on windows.

@softins
Copy link
Member Author

softins commented Mar 2, 2024

I mean the thing is that then people on those versions would be stuck. If we don't think that's a value ok.

Not completely. They can still use 3.10.0 which will be forward- and backward-compatible with newer versions. The number of people stuck on the very oldest OS versions will be reducing all the time.

Unfortunately it seems as if people still asked on the forums for legacy OS - especially on windows.

Do you mean in Github discussions, or somewhere else? I've just checked the SF forums, but they only go up to 2021.

Anyway, I've just updated the associated PR to use Qt 5.12.12 instead of Qt 5.15.2 for Mac Legacy. Once it's built, I'll try the Mac Legacy version on my Mac and if it's ok, I'll change the PR from draft to ready.

@ann0see
Copy link
Member

ann0see commented Mar 2, 2024

#2955 (comment)

But also https://github.com/orgs/jamulussoftware/discussions/3222 - I think you personally also run Catalina?

Old Macs may still run well.
We can probably not make everyone happy. There is a possibility to update ancient Macs to Sonoma via OpenCore legacy patcher. So in theory you can also go the unsupported route.

@softins
Copy link
Member Author

softins commented Mar 3, 2024

But also https://github.com/orgs/jamulussoftware/discussions/3222 - I think you personally also run Catalina?

Yes I do. I tried updating to Big Sur, but ran into a problem and the upgrade refused to complete after failing to verify something. Thankfully without destroying the existing installation of Catalina.

That's why I am particularly interested in Mac Legacy.

Old Macs may still run well. We can probably not make everyone happy. There is a possibility to update ancient Macs to Sonoma via OpenCore legacy patcher. So in theory you can also go the unsupported route.

OK. The app store suggests that my particular Mac ought to be able to run Monterey, but I don't want to try in one big step.

@softins
Copy link
Member Author

softins commented Mar 3, 2024

Anyway, I've just updated the associated PR to use Qt 5.12.12 instead of Qt 5.15.2 for Mac Legacy. Once it's built, I'll try the Mac Legacy version on my Mac and if it's ok, I'll change the PR from draft to ready.

Well the CI build for Qt 5.12.12 does seem to install and run ok.

But I've had a look at the build logs. The build for Qt 5.12.12 shows a lot of deprecation warnings about implicit copy constructors. The build for Qt 5.15.2 doesn't show those warnings, suggesting that 5.15.2 has been improved in some way to avoid this.

For that reason, I would prefer to go back to using 5.15.2 in my PR, and specifying that we support High Sierra onwards.

@softins softins added this to the Release 3.11.0 milestone Mar 28, 2024
@danryu
Copy link
Contributor

danryu commented Apr 4, 2024

This thread is a good summary of the problems facing macOS distribution in general, IMO.
IIRC, macOS 11 runs on all Macs made from 2013 onwards. So only those Apple users with machines over than 11 years old are unable to upgrade to macOS 11. Of course it's great that Apple makes such reliable hardware :) but it causes a lot of pain when users don't upgrade to their latest available version.

@softins I'm mainly a Linux user and don't own Apple hardware: what's the problem preventing you from upgrading? Do you think that affects a lot of users, so they get wary of doing system upgrades?

@softins
Copy link
Member Author

softins commented Apr 4, 2024

@softins I'm mainly a Linux user and don't own Apple hardware: what's the problem preventing you from upgrading? Do you think that affects a lot of users, so they get wary of doing system upgrades?

I'm mainly a Linux user too, but also have a 2016 MacBook Pro which I use for Jamulus and general portability. I updated it from Mojave to Catalina some time ago, but when I later tried to update to Big Sur 11, it did a load of stuff and then failed with a verification error. Thankfully it hadn't messed up the existing OS.

I looked up the error and found some things to try, but never got around to doing so.

It keeps offering me Monterey, but that feels like it would be a huge leap of faith.

@ann0see
Copy link
Member

ann0see commented Apr 4, 2024

Usually skipping many versions works well enough for apple hardware. Also if it's from 2016 then it should even go up to a quite recent version with open core legacy patcher and still perform well enough.
I'd just backup with Time Machine and then try my luck again.
I upgraded a 2012 Macbook pro to Sonoma and with ram + ssd Upgrade it's still usable for web browsing. (Not so much development).

@danryu
Copy link
Contributor

danryu commented Apr 4, 2024

It keeps offering me Monterey, but that feels like it would be a huge leap of faith.

Well if a technical user such as yourself is scared of upgrading a 4 yr-old OS, then Apple hasn't done their job, and we're screwed :)
It means that Qt5 will have to be supported for probably the next 5-10 years, accounting for a) the pre-2013 hardware that can't be upgraded to Big Sur, and b) the hardware that CAN but users that just don't want to upgrade (the much larger segment, probably).

@softins
Copy link
Member Author

softins commented Apr 4, 2024

It keeps offering me Monterey, but that feels like it would be a huge leap of faith.

Well if a technical user such as yourself is scared of upgrading a 4 yr-old OS, then Apple hasn't done their job, and we're screwed :)

Well, it's not so much scared, as circumspect, and wondering if the attempt would fail in the same was as it did when trying Big Sur. If so, I would need to be sure I had plenty of time to do it. I do have Time Machine backups on an external HD, so it may be that I would just need to do a fresh install followed by a data restore.

I also wonder whether the newest OSes would be more bloated and therefore slower on the older hardware I have,

@danryu
Copy link
Contributor

danryu commented Apr 4, 2024

Well, it's not so much scared, as circumspect

Yes I suppose I just meant "put off" in whatever way. My point was really that if a developer is discouraged from doing the upgrade due to the likely technical overhead of the process, then a typical user definitely will be. Especially, perhaps, a typical user with an existing audio software setup, any part of which could break in the upgrade process ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tooling Changes to the automated build system
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

3 participants