mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.25k stars 1.24k forks source link

Fix QML build regressions on macOS #13334

Closed fwcd closed 3 weeks ago

fwcd commented 3 weeks ago

This fixes a few minor regressions introduced by #11407 when building with -DQML=ON on macOS and re-enables QML in the CI build for macOS.

fwcd commented 3 weeks ago

Hm, it looks like std::bit_cast might be unavailable too on the older macOS 11 runners we're building on (see https://github.com/mixxxdj/mixxx/actions/runs/9402107656/job/25895415853). This seems to have been implemented/stabilized, at least I couldn't reproduce it with Xcode 15 on macOS 14, but I don't know how that would affect backwards compatibility here.

fwcd commented 3 weeks ago

Any ideas on the test failure? That it only fails on x64 makes it pretty strange

acolombier commented 3 weeks ago

Yep, that's the part that is failing:

warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 9 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9:1: module "Qt5Compat.GraphicalEffects" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9: module \"Qt5Compat.GraphicalEffects\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 7 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line -1 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml: module "QtQuick.Controls.macOS" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:-1: module \"QtQuick.Controls.macOS\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 2 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 9 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9:1: module "Qt5Compat.GraphicalEffects" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9: module \"Qt5Compat.GraphicalEffects\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 7 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line -1 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml: module "QtQuick.Controls.macOS" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:-1: module \"QtQuick.Controls.macOS\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 2 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 9 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9:1: module "Qt5Compat.GraphicalEffects" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9: module \"Qt5Compat.GraphicalEffects\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 7 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line -1 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml: module "QtQuick.Controls.macOS" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:-1: module \"QtQuick.Controls.macOS\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 2 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 9 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9:1: module "Qt5Compat.GraphicalEffects" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9: module \"Qt5Compat.GraphicalEffects\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 7 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line -1 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml: module "QtQuick.Controls.macOS" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:-1: module \"QtQuick.Controls.macOS\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 2 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 9 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9:1: module "Qt5Compat.GraphicalEffects" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9: module \"Qt5Compat.GraphicalEffects\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 7 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line -1 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml: module "QtQuick.Controls.macOS" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:-1: module \"QtQuick.Controls.macOS\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 2 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 9 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9:1: module "Qt5Compat.GraphicalEffects" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9: module \"Qt5Compat.GraphicalEffects\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 7 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line -1 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml: module "QtQuick.Controls.macOS" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:-1: module \"QtQuick.Controls.macOS\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 2 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 9 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9:1: module "Qt5Compat.GraphicalEffects" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9: module \"Qt5Compat.GraphicalEffects\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 7 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line -1 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml: module "QtQuick.Controls.macOS" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:-1: module \"QtQuick.Controls.macOS\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 2 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 9 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9:1: module "Qt5Compat.GraphicalEffects" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:9: module \"Qt5Compat.GraphicalEffects\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 7 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:7: module \"QtQuick.Window\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line -1 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml: module "QtQuick.Controls.macOS" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:-1: module \"QtQuick.Controls.macOS\" is not installed"
warning [0x7fc842d082d0] Unable to load the QML scene: QUrl("file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml") at line 2 , error:  file:///Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2:1: module "QtQuick.Window" is not installed
warning [0x7fc842d082d0] ControllerScriptHandlerBase: "Uncaught exception: /Users/runner/work/mixxx/mixxx/res/qml/DummyDeviceDefaultScreen.qml:2: module \"QtQuick.Window\" is not installed"
info [0x7fc842d082d0]   Shutting down engine
./src/test/controller_mapping_validation_test.cpp:261: Failure

This is likely because the QML dependencies aren't included in the VCPKG, or aren't installed properly in the build environment, basically meaning that QML doesn't work on Mixxx out of the box. This was tracked in #12267 and should have been fixed in #12604 but not sure this was tested on Mac x64

fwcd commented 3 weeks ago

Hm okay, so maybe disabling QML in x64 CI would be a temporary fix, not ideal, but at least we'd get QML CI on macOS.

acolombier commented 3 weeks ago

Do you mind creating an issue for macOS x64 /w QML just so we keep track of this?

fwcd commented 3 weeks ago

-> #13336

Swiftb0y commented 3 weeks ago

Thank you for looking into the issue this quickly.