Hydrogen: Mac OS X Version of Hydrogen 1.0-beta2 does not support OS X 11.x

Created on 20 Apr 2020  路  7Comments  路  Source: hydrogen-music/hydrogen

Hydrogen version * : 1.0-beta2
Operating system + version : Mac OS X 11.6


I tried today to update the Hydrogen version on my old update, and i ran directly into an issue. When starting the application (via commandline, to get debug output..) an error messages appears which informs me that QT (at least the bundled version..) needs Mac OS X 10.12.

@elpescado : I'm not sure if we can do anything about it, but maybe it is possible to use an older QT version? I remember that it worked when you initially set up the deployment process, i'm still using the Hydrogen image from that time.

OS X bug

Most helpful comment

Ok, I've played a bit with Travis and Qt. I've created a simple repo with CI pipeline that tries to install Qt on different macOS VMs, and it seems that on xcode8.3 and xcode9 images it's possible to get Qt 5.9.1:

https://travis-ci.com/github/elpescado/travis-qt-mac/builds/161996508

All 7 comments

Hi @mauser,

What's that message? Does Hydrogen start anyway, or is it fatal error?

We set MACOSX_DEPLOYMENT_TARGET="10.10" env in Travis in order to build binary compatible with 10.10, but that applies to Hydrogen binary itself. It seems that third-party libraries might have their own compatibility requirements. As I checked, we currently use Qt 5.13.2 which seems to support macOS 10.12, 10.13, 10.14. I've compiled compatibility information for various Qt versions:

Qt     macOS                                     Reference
-------------------------------------------------------------------------------------------------------------
5.8    10.9 10.10 10.11 10.12                    https://doc.qt.io/archives/qt-5.8/supported-platforms.html
5.9         10.10 10.11 10.12                    https://doc-snapshots.qt.io/qt5-5.9/supported-platforms.html
5.10              10.11 10.12 10.13              https://doc.qt.io/archives/qt-5.10/supported-platforms.html
5.11              10.11 10.12 10.13              https://doc.qt.io/archives/qt-5.11/supported-platforms.html
5.12                    10.12 10.13 10.14        https://doc.qt.io/qt-5.12/supported-platforms.html
5.13                    10.12 10.13 10.14        https://doc.qt.io/archives/qt-5.13/supported-platforms.html
5.14                          10.13 10.14 10.15  https://doc.qt.io/qt-5/supported-platforms.html

It seems that Qt 5.9 is the last one that supports macOS 10.10. OTOH, it might not support more recent OS versions, the last version supported is listed as 10.12. But I don't see that as a problem. Worst case, we might build two binaries, one for recent Mac OS releases and one for "legacy" ones.

There's one technical issue. We use Home-brew (brew) for installing dependencies on Travis CI agents, and I don't know how to install old version of Qt.

Hi!

thanks for the detailed answer!

What's that message? Does Hydrogen start anyway, or is it fatal error?

When you start Hydrogen by clicking on the App Icon, nothing at all happens. No error message, but hydrogen does also not start. I've then started it by running the "hydrogen" executable directly which is included in the app bundle (or however this directoy structure is called which includes all files of the package..). Then you get some kind of fatal, so Hydrogen does not start at all.

Just did a quick search, and it seems that the only way to install older packages is to get the old package recipes directly (for example via curl), like mentioned here.

Edit: Building two binaries does not seem problematic for me. We have 5 concurrent build jobs for free at Travis, and we only use them for tagged builds.

There might be one more problem - older Qt might not work with current Xcode toolchain. But as I can see, Travis provides images for several macOS/Xcode combinations, so I think that can be easily overcome.

I recently ran into my own problems compiling from source on Catalina (MacOS 10.15.4), see here (issue #840) and the updated build recipe. Just for your reference.

In this context, it leads to two observations:

  1. Since apparently H2 is built successfully with travis, there must already be a (consistent) way to deal with the manual hacks presented in the wiki? (These could be used in the build.sh script to begin with?)
  2. It seems a waste of resources to me to spend time on supporting old Qt versions on new macOS installs. It seems fair to assume or even require that users who run a current OS are running current libraries (especially since it is trivial to install the current Qt using brew). (sorry, missed the fact that OP has both old macOS and Qt. It still might be easier to update Qt on macOS 11.6 than to try to tweak H2?)

Ok, I've played a bit with Travis and Qt. I've created a simple repo with CI pipeline that tries to install Qt on different macOS VMs, and it seems that on xcode8.3 and xcode9 images it's possible to get Qt 5.9.1:

https://travis-ci.com/github/elpescado/travis-qt-mac/builds/161996508

Closed: We have now a second build job which creates dmg images for older OS X version.

Nice one @elpescado !

Was this page helpful?
0 / 5 - 0 ratings

Related issues

desperateCoder picture desperateCoder  路  14Comments

oddtime picture oddtime  路  6Comments

thijz picture thijz  路  9Comments

simonvanderveldt picture simonvanderveldt  路  11Comments

theGreatWhiteShark picture theGreatWhiteShark  路  7Comments