Qt 5.15.2 on MacOS Sonoma

294 views
Skip to first unread message

Mark Liversedge

unread,
Nov 5, 2023, 2:13:39 PM11/5/23
to golden-cheetah-developers
If you get the error "failed to parse default search paths from compiler output" then you will need to manually apply:


Looks like Qt 5 open source isn't getting critical fixes.....

Mark

Joachim Kohlhammer

unread,
Nov 6, 2023, 11:38:58 AM11/6/23
to golden-cheetah-developers
If you need for support for the Qt6 migration, please let me know how I can help. The patched version of qwt probably is too big for my non-existant knowledge on its history, but the will is there. Especially for all the rest

Joachim

Ale Martinez

unread,
Jan 9, 2024, 4:56:32 PM1/9/24
to golden-cheetah-developers
El lunes, 6 de noviembre de 2023 a la(s) 1:38:58 p.m. UTC-3, Joachim Kohlhammer escribió:
If you need for support for the Qt6 migration, please let me know how I can help. The patched version of qwt probably is too big for my non-existant knowledge on its history, but the will is there. Especially for all the rest

Hi Joachim, now the qwt part is sorted (I am using latest snapshot regularly without issues and we have no news in users group, which is usually good news...) I started to review and merge the Qt6 Refactor PRs, the objective is to be able to build both with Qt 5.15 and 6.x, feel free to collaborate if you have worked on some of them. 

Thank you, Ale.

Joachim Kohlhammer

unread,
Jan 10, 2024, 12:28:29 AM1/10/24
to golden-cheetah-developers
Ale Martinez schrieb am Dienstag, 9. Januar 2024 um 22:56:32 UTC+1:
Hi Joachim, now the qwt part is sorted (I am using latest snapshot regularly without issues and we have no news in users group, which is usually good news...) I started to review and merge the Qt6 Refactor PRs, the objective is to be able to build both with Qt 5.15 and 6.x, feel free to collaborate if you have worked on some of them. 

Thank you, Ale.

For now I will continue testing, (Qt 5.15 on Windows and LInux, 6.4 on LInux, 6.6 on Windows - as soon as Qt6 is possible) and investigate when I find any issues. If you have concrete tasks, count me in. However my main focus is on running GC under Linux.

Joachim

Joachim Kohlhammer

unread,
Jan 13, 2024, 10:28:45 AM1/13/24
to golden-cheetah-developers
Ale, thanks for all the work integrating the Qt6-PRs! I finally got a version running with Qt6.4 on Linux:

Screenshot_20240113_161116.png

However some runtime issues show, at least when running on X11:
* Switching to the RideMapWindow crashed GC (already fixed)
* When switching views (activities, trends, train), additional toplevel windows are created
* Multiple warnings are shown:
[16:17:40.656] warning: QOpenGLContext::makeCurrent() called with non-opengl surface 0x55abc31f3460 (unknown:0)
[16:17:40.656] warning: QRhiGles2: Failed to make context current. Expect bad things to happen. (unknown:0)

I will continue testing and try to resolve these issues (will be back tomorrow).
Do you prefer getting multiple small PRs (lots of the stuff I had to do is already in Andreas PR #3982 - some fixes) or one singular?

Regards
 Joachim

P.S.:
This is what I did on top of current master:
$ git diff | diffstat
Charts/GoldenCheetah.cpp     |    2 +-
Charts/GoldenCheetah.h       |    4 +++-
Charts/Overview.cpp          |    2 ++
Charts/OverviewItems.cpp     |    2 ++
Charts/RideMapWindow.cpp     |   18 ++++++++++--------
Charts/UserChart.cpp         |    1 -
Charts/UserChart.h           |    1 +
Cloud/Azum.cpp               |    8 ++++----
Core/Settings.cpp            |    3 +--
FileIO/FitRideFile.cpp       |    2 +-
FileIO/JsonRideFile.y        |    2 +-
FileIO/MeasuresCsvImport.cpp |    2 +-
FileIO/PolarRideFile.cpp     |    4 ++--
Gui/AthletePages.cpp         |    2 +-
Gui/MainWindow.cpp           |    2 +-
Gui/MergeActivityWizard.cpp  |    2 +-
Gui/Pages.cpp                |    3 +++
Gui/Perspective.cpp          |    2 +-
Metrics/VDOT.cpp             |    2 +-
Train/TrainSidebar.cpp       |    4 ++--
Train/WebPageWindow.cpp      |   15 ++++++++++++++-
Train/WebPageWindow.h        |    8 ++++++++
22 files changed, 61 insertions(+), 30 deletions(-)

Ale Martinez

unread,
Jan 13, 2024, 3:56:38 PM1/13/24
to golden-cheetah-developers
Hi Joachim, I continued working to add  PR #3982 fixes and others similar to previous ones, I suspect we reached a similar point, but I saw your message just now. Please compare your version to master for differences.

Current master builds with Qt 6.2.4 provided you don't enable R, Python or KML (R/Python presents similar issues, KML not sure since it uses Boost), minimal tests on Windows are positive, I also got the Map crash but I have not debugged.

Cheers, Ale.

Joachim Kohlhammer

unread,
Jan 14, 2024, 9:52:29 AM1/14/24
to golden-cheetah-developers
Hi Ale, it looks pretty synced, I switched to master with all my changes already in PRs. Python and vlc will be enabled once I have a smoothly running barebone version.
Do you also see the issues with multiple (ghost) windows being openedr: One additional window from the start, one more as I switch to trends view. Also Train / Workoutmode dont show up for me. I will try getting deeper into this, but your ideas are always welcome

Regards
 Joachim

Ale Martinez

unread,
Jan 14, 2024, 2:27:54 PM1/14/24
to golden-cheetah-developers
I am building on Windows with Qt 6.2.4 and I don't see the multiple windows issue, may be Andreas or Mark can help.
Train is working in ERG and Slope mode using the Robot, both using Workout Editor and Workout Plot plus Live Map, but VLC is not. 
At startup I get this worning:
[16:21:34.780] warning: QObject::connect: No such signal QBluetoothDeviceDiscoveryAgent::error(QBluetoothDeviceDiscoveryAgent::Error)
but I have not tested BTLE or ANT+ yet.
After your fix for the RideMap all builtin charts seems to be Ok, I will start working on R and Python.
Cheers, Ale.

Ale Martinez

unread,
Jan 14, 2024, 2:29:32 PM1/14/24
to golden-cheetah-developers
El domingo, 14 de enero de 2024 a la(s) 4:27:54 p.m. UTC-3, Ale Martinez escribió:
I am building on Windows with Qt 6.2.4 and I don't see the multiple windows issue, may be Andreas or Mark can help.
Train is working in ERG and Slope mode using the Robot, both using Workout Editor and Workout Plot plus Live Map, but VLC is not. 
At startup I get this worning:
[16:21:34.780] warning: QObject::connect: No such signal QBluetoothDeviceDiscoveryAgent::error(QBluetoothDeviceDiscoveryAgent::Error)
but I have not tested BTLE or ANT+ yet.
After your fix for the RideMap all builtin charts seems to be Ok, I will start working on R and Python.
Cheers, Ale.

PS: WebChart is working better than with Qt5.15 since it allows me to login to Garmin Connect, but download intercept it is not yet.

Ale Martinez

unread,
Jan 14, 2024, 5:07:33 PM1/14/24
to golden-cheetah-developers
El domingo, 14 de enero de 2024 a la(s) 4:29:32 p.m. UTC-3, Ale Martinez escribió:
El domingo, 14 de enero de 2024 a la(s) 4:27:54 p.m. UTC-3, Ale Martinez escribió:
I am building on Windows with Qt 6.2.4 and I don't see the multiple windows issue, may be Andreas or Mark can help.
Train is working in ERG and Slope mode using the Robot, both using Workout Editor and Workout Plot plus Live Map, but VLC is not. 

I forgot to copy VLC plugins folder to runtime directory, after that VLC is working, including overlay widgets, which was kind of unexpected for me.

Ale Martinez

unread,
Jan 15, 2024, 7:57:45 AM1/15/24
to golden-cheetah-developers
El domingo, 14 de enero de 2024 a la(s) 4:27:54 p.m. UTC-3, Ale Martinez escribió:
I am building on Windows with Qt 6.2.4 and I don't see the multiple windows issue, may be Andreas or Mark can help.
Train is working in ERG and Slope mode using the Robot, both using Workout Editor and Workout Plot plus Live Map, but VLC is not. 
At startup I get this worning:
[16:21:34.780] warning: QObject::connect: No such signal QBluetoothDeviceDiscoveryAgent::error(QBluetoothDeviceDiscoveryAgent::Error)
but I have not tested BTLE or ANT+ yet.

Renamed the error signal and did some tests, both BTLE and ANT+ are working in my Windows laptop with a dual Rhythm+ HR band, so Train View seems to be Ok. 

Joachim Kohlhammer

unread,
Jan 15, 2024, 11:17:26 AM1/15/24
to golden-cheetah-developers
The "ghost"-windows could be removed for both activity- and trends-view by disabling OpenGL in GenericPlot::addCurve. Before creating a PR, I will investigate if OpenGL can somehow be re-enabled here.
Additionally I look into the broken train-view:
[17:16:55.589] warning: QOpenGLContext::makeCurrent() called with non-opengl surface 0x560e24ef4660 (unknown:0)
[17:16:55.589] warning: QRhiGles2: Failed to make context current. Expect bad things to happen. (unknown:0)

Ale Martinez

unread,
Jan 15, 2024, 12:27:41 PM1/15/24
to golden-cheetah-developers
You could try disabling OpenGL in MainWindow, it is conditionally enabled for Linux only.

Joachim Kohlhammer

unread,
Jan 16, 2024, 12:43:24 PM1/16/24
to golden-cheetah-developers
Ale Martinez schrieb am Montag, 15. Januar 2024 um 18:27:41 UTC+1:
You could try disabling OpenGL in MainWindow, it is conditionally enabled for Linux only.
 
Setting gl_major to 1.0 did not make a difference. The only location where this is used is in ChartSpace for Qt5. Did I overlook a global switch to disable OpenGL?
To my current knowledge, the ghost windows can only be disabled by unsetting the "Fast Graphics" switch for UserChartOverviewItems (same solution as described yesterday). "Standalone" UserCharts seem not be to affected.
Do you have any other idea how this issue can be resolved? Unfortunately I have no experience at all with OpenGL and its rendering in Qt (will start reading)

Ale Martinez

unread,
Jan 16, 2024, 1:59:09 PM1/16/24
to golden-cheetah-developers
I was referring to this piece creating a context and making it current for the gui thread:
I would try keeping it only for Qt<6, but I have not setup a Qt6 build environment on Linux yet. 

Ale Martinez

unread,
Jan 16, 2024, 7:04:32 PM1/16/24
to golden-cheetah-developers
I built today on Ubuntu 22.04 under WSL, it seems to be fine, I could not reproduce the ghost windows nor Train issue.

BTW, thinking in CI builds I installed Qt using https://github.com/miurahr/aqtinstall, it worked like a breeze, the command was:

aqt install-qt linux desktop 6.2.4 gcc_64 -m  qt5compat qtcharts qtconnectivity qtmultimedia qtpositioning qtsensors qtserialport qtwebchannel qtwebengine

Joachim Kohlhammer

unread,
Jan 17, 2024, 12:29:47 AM1/17/24
to golden-cheetah-developers
Thanks for the update! I will try setting up different build-envs (other Qt / different version), Ubuntu in a Virtual Box... and come back 

Mark Liversedge

unread,
Jan 17, 2024, 3:59:17 AM1/17/24
to golden-cheetah-developers
On Wednesday 17 January 2024 at 00:04:32 UTC Ale Martinez wrote:
I built today on Ubuntu 22.04 under WSL, it seems to be fine, I could not reproduce the ghost windows nor Train issue.

Is the overall strategy to get working with 6.2 before moving on to 6.5 LTS ?

Mark 

Ale Martinez

unread,
Jan 17, 2024, 7:13:34 AM1/17/24
to golden-cheetah-developers
Yes to the 1st part, but I am not sure which version we should target, the next LTS (6.5.3 now) or the latest released (6.6.1 now) according to https://groups.google.com/g/golden-cheetah-developers/c/nylEv1CcYTM/m/dTT8pSstCQAJ.
What do you think?

Mark Liversedge

unread,
Jan 17, 2024, 7:34:35 AM1/17/24
to golden-cheetah-developers
I would say we target the latest possible, since we are making the effort now.
Qt Graphs looks vaguely interesting, and possibly we could add support in the User Chart too (3D charts)

Mark 

Ale Martinez

unread,
Jan 17, 2024, 8:08:15 AM1/17/24
to golden-cheetah-developers
Ok, I am switching to Qt 6.5.3 now, and will try Qt6.6.x after that.

Ale Martinez

unread,
Jan 17, 2024, 10:53:01 AM1/17/24
to golden-cheetah-developers
El miércoles, 17 de enero de 2024 a la(s) 10:08:15 a.m. UTC-3, Ale Martinez escribió:
Ok, I am switching to Qt 6.5.3 now, and will try Qt6.6.x after that.

Switching to Qt 6.5.3 required only minor changes (https://github.com/GoldenCheetah/GoldenCheetah/commit/eb2ba14c68ec8c7bc7cf4772d6a3fcff6c900555), it seems to work both in Linux and Windows. 

Ale Martinez

unread,
Jan 17, 2024, 4:24:13 PM1/17/24
to golden-cheetah-developers
Now it is possible to build master using Qt 6.6.1 too. 

Ale Martinez

unread,
Jan 18, 2024, 1:22:47 PM1/18/24
to golden-cheetah-developers
El martes, 16 de enero de 2024 a la(s) 2:43:24 p.m. UTC-3, Joachim Kohlhammer escribió:
To my current knowledge, the ghost windows can only be disabled by unsetting the "Fast Graphics" switch for UserChartOverviewItems (same solution as described yesterday). "Standalone" UserCharts seem not be to affected.

I finally found this issue on Windows too, it was not present when building with Qt 6.2.4 but it happens with 6.5.3 and 6.6.1.
Clearing the Fast Graphics option in embedded User Charts avoids the ghost windows as you said.
Perhaps we should to disable that option on Qt6, I am not sure it makes a difference performance wise.

Mark Liversedge

unread,
Jan 18, 2024, 3:36:24 PM1/18/24
to Ale Martinez, golden-cheetah-developers
Fast graphics should improve performance significantly when opengl is the base renderer. I would say keep it, but don’t enable it in the standard chart setup.

On 18 Jan 2024, at 18:22, Ale Martinez <amtri...@gmail.com> wrote:

--
You received this message because you are subscribed to the Google Groups "golden-cheetah-developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golden-cheetah-dev...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/golden-cheetah-developers/f7bcb2a1-b001-4de4-b98d-69c883d9314en%40googlegroups.com.

Joachim Kohlhammer

unread,
Jan 18, 2024, 3:54:41 PM1/18/24
to golden-cheet...@googlegroups.com
I will try isolating the issue in a test driver. Hopefully this helps understanding what is going on
Ale, does the (default) train view show up correctly for you when VLC is compiled in with Qt6.5/6? Here I also get graphical errors and OpenGL-warnings

Ale Martinez

unread,
Jan 18, 2024, 6:20:39 PM1/18/24
to golden-cheetah-developers
El jueves, 18 de enero de 2024 a la(s) 5:54:41 p.m. UTC-3, Joachim Kohlhammer escribió:
Ale, does the (default) train view show up correctly for you when VLC is compiled in with Qt6.5/6? Here I also get graphical errors and OpenGL-warnings

Yes on Windows, but I have not included vlc in my Linux builds yet. 

Ale Martinez

unread,
Jan 18, 2024, 6:20:43 PM1/18/24
to golden-cheetah-developers
El jueves, 18 de enero de 2024 a la(s) 5:36:24 p.m. UTC-3, Mark Liversedge escribió:
Fast graphics should improve performance significantly when opengl is the base renderer. I would say keep it, but don’t enable it in the standard chart setup.

Agree.

Mark Liversedge

unread,
Jan 19, 2024, 10:57:40 AM1/19/24
to golden-cheetah-developers
I've now got my build working for qt6.6.1 and Qt Charts performance is terrible and feels broken.

I will look at it, but am getting very close to dropping support and writing our own chart rendering- this is because most of the heavy lifting is already being done in our code- we almost only use the charts to render...

It just feels like Qt charts close ties with OpenGL (and lack of updates) fly in the face of the wider Qt strategy to get closer to the platform API and hardware 

 Mark

Joachim Kohlhammer

unread,
Jan 22, 2024, 10:44:26 AM1/22/24
to golden-cheetah-developers
Mark Liversedge schrieb am Freitag, 19. Januar 2024 um 16:57:40 UTC+1:
I will look at it, but am getting very close to dropping support and writing our own chart rendering- this is because most of the heavy lifting is already being done in our code- we almost only use the charts to render...

It just feels like Qt charts close ties with OpenGL (and lack of updates) fly in the face of the wider Qt strategy to get closer to the platform API and hardware 

 Mark

Under these circumstances, I assume further debugging into the "ghost-window"-issue does not make any sense. Do you agree?

Joachim 

Ale Martinez

unread,
Mar 19, 2024, 6:39:53 PM3/19/24
to golden-cheetah-developers
I tried a basic build on macOS Sonoma using current master and latest Qt6, it was pretty straight forward, so I updated
Cheers, Ale.

El domingo, 5 de noviembre de 2023 a la(s) 4:13:39 p.m. UTC-3, Mark Liversedge escribió:
If you get the error "failed to parse default search paths from compiler output" then you will need to manually apply:


Looks like Qt 5 open source isn't getting critical fixes.....

Mark

Steve Edmonds

unread,
Mar 19, 2024, 7:08:03 PM3/19/24
to golden-cheet...@googlegroups.com
Has the Qt6 version been settled upon. I have been building on Linux with 6.6.1, 6.6.2 and 6.7.0 without issues so far.
--
Reply all
Reply to author
Forward
0 new messages