[Interest] minimum macOS runtime version for Qt 5.9+ (Jake Petroules)

Jake Petroules Jake.Petroules at qt.io
Fri Dec 1 02:37:22 CET 2017



> On Nov 30, 2017, at 5:10 PM, Steve Schilz <sschilz at pasco.com> wrote:
> 
> Hi Jake, 
> 
> TLDR:  
>   • Please update docs to include mention of deployment target,  
>   • People run older versions sometimes because of inertia of large projects
>   • Qt support of two versions back matches Apple’s support policy.
> 
> 
> I was looking at this this week, and wanted the same question answered…  It would be nice to add a note to the docs stating that the minimum supported platform for OS-X is a deployment target as well as a compilation target…

The minimum version for development AND deployment is the same. This is the same as for all other platforms unless explicitly marked "deployment only" (as was the case for Windows XP when deployment to that platform was still supported) so I don't see why macOS would be implied to be different in this regard.

That said, maybe there's a way we could make this more clear somehow. I'll check.

> Our current shipping software on OSX is a 32 bit system is targeting 10.7 (yes, I know, ancient, see below).  Since I am in the process of updating to AVFoundation, and since nothing in the docs said I couldn’t, I was able to build against Qt 5.9.3 with a deployment target of 10.7 (w/ libc++).    I haven’t tried to run it on an actual system yet, and based on your comments, I am not going to try. We are going to move to supporting 10.9 for now.

You cannot run Qt 5.9.3 on macOS 10.7. We removed all the compatibility code paths for anything below 10.10 in Qt 5.9 so it will misbehave or crash at various points and you'd have to go back through history and revert every single patch that could have  somehow had an effect. Therefore, I would strongly recommend against doing this as you'll basically have to maintain a fork of Qt and that'll get expensive.

If you want to support 10.7, your only option is to use Qt 5.6. That's why we have LTS releases.

If you want to support 10.9, your only option is to use Qt 5.8. I think you'd be able to get away with a patched 5.9 much easier than if you tried to target 10.7 since there's less difference between 10.9 and 10.10 but again, you'd still have to search through history and revert every compatibility patch that might've affected you. I also strongly recommend against this.

When your mkspec's qmake.conf sets a value for QMAKE_MACOSX_DEPLOYMENT_TARGET, we mean it. You cannot go lower than whatever that value is.

> Why do people run on older deployment targets?  Inertia of large projects!  Our video module on OSX was written 7 years ago to support OSX 10.7 using QtKit, which was deprecated at the time.  While we have been aware of this for several years, I have only now been assigned to write an AVFoundation replacement because the 32 bit subsystem (and hence QtKit), is finally being pulled from the operating system.

Ouch. Waiting until the last minute there. :)

> In general, if you have a large software project, there is always tension between moving forward on things like operating systems (we support Mac, Windows, iOS, Android, and Chromebooks here), and writing new code.   In practice, this often means that the schedule only finds time to upgrade to newer platforms when we are forced to.
> 
> While I agree with Shawn Rutledge’s comments about planned obsolescence,

"Planned obsolescence" is basically the same as "common sense". It takes time and effort to support older systems, and if no one is using them, how do you justify that cost? It's simply better for everyone as a whole to move forward instead.

A "needs of the many" vs "needs of the few" sort of thing.

> it is probably worth mentioning in this discussion that Apple generally provides security updates for two or maybe three major versions, and Qt is in line with that.  I couldn’t find an Apple reference for that, but this stack overflow post has some relevant if older discussion: 
>       https://apple.stackexchange.com/questions/47664/what-is-apples-policy-for-supporting-security-updates-on-older-versions-of-os-x
> 
> Steve Schilz
> PASCO scientific
> think science
> 
> 
> 
> On Wed, Nov 29, 2017 at 4:46 AM, Jake Petroules <Jake.Petroules at qt.io>
> wrote:
> 
> 
> 
>>>> On Nov 28, 2017, at 7:43 PM, Hamish Moffatt <hamish at risingsoftware.com> wrote:
>>>> 
>>>> https://doc.qt.io/qt-5/supported-platforms.html lists the supported
>>>  macOS environments, but it's not clear if it's the same versions (10.10+)
>>>  for runtime (deployment) as well as development, or whether running on
>>>  earlier versions is supported. Does anyone know?
>>> 
>>>  Currently we support the same minimum version for both runtime and
>>>  development. Currently this is macOS 10.10 for Qt 5.9. Earlier OS versions
>>>  will not work and will crash.
>>> 
>>>> http://doc-snapshots.qt.io/qt5-5.10/supported-platforms.html suggests
>>>  that 5.10 will increase this requirement further to 10.11+. Why is this?
>>> 
>>>  We decided it wasn't worth the resources to continue testing with 10.10.
>>>  macOS upgrades are now free and the overwhelming majority of users are on
>>>  the latest version.
>>> 
>>>  Why do you need to support older versions?
>>> 
>>>> Thanks,
>>>> 
>>>> Hamish
>>>> 
>>>> _______________________________________________
>>>> Interest mailing list
>>>> Interest at qt-project.org
>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>> 
>>>  --
>>>  Jake Petroules - jake.petroules at qt.io
>>>  The Qt Company - Silicon Valley
>>>  Qbs build tool evangelist - qbs.io
> 
> 
> 
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

-- 
Jake Petroules - jake.petroules at qt.io
The Qt Company - Silicon Valley
Qbs build tool evangelist - qbs.io



More information about the Interest mailing list