Author Topic: Qt6 Development  (Read 382461 times)

KO Myung-Hun

  • Jr. Member
  • **
  • Posts: 55
  • Karma: +8/-0
    • View Profile
Re: Qt6 Development
« Reply #855 on: January 05, 2025, 07:21:10 am »
Nope.

However, [git clone] was done on SMP machine with 2 CPUs. So there will be no problems with [git worktree], too.

Anyway, I'll try this on SMP machine later.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #856 on: January 05, 2025, 08:48:43 am »
I'll also try and test.... cloning and adding a worktree *sometimes* work on SMP, even with default stack size...

KO Myung-Hun

  • Jr. Member
  • **
  • Posts: 55
  • Karma: +8/-0
    • View Profile
Re: Qt6 Development
« Reply #857 on: January 05, 2025, 01:21:51 pm »
I've tested [git worktree] on a SMP machine with 2 CPUs, and it has succeeded without any problems.

Good luck!

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #858 on: January 10, 2025, 07:09:27 am »
For interest only...

Most recent builds have been done using a Lenovo M710q - Intel 6th gen processor. Newer hardware generally has limitations around the amount of free memory that OS/2 sees.

I recently imaged the SSD in this box, and converted it to a Virtualbox VDI. Yesterday, I installed this VDI onto a cheap box I got recently from Amazon - https://www.amazon.com.au/gp/product/B0CPY5M4S3 (I paid $A292 for it) which is running an Intel 12th Gen i5-12450H processor and 16GB RAM. I replaced the crappy SSD included with a 1TB version.

Running some testing with qt6-base-os2 and examples on:

Lenovo M710q - 1h51m
Beelink SEi12 (2 cores) - 1h43m
Beelink SEi12 (4 cores) - 1h13m

So with 4 cores, some pretty decent time saving waiting for builds to finish. I might see if I can get further improvements beyond 4 cores :)

Things have been quiet on the Qt front for me, I'm stuck in terms of ideas on how to proceed in stabilising the beast.

OK CPU in the M710Q (I made a mistake earlier and yout it was an M73p) has been changed from a 6th gen i5-6500T to an i7-7700T.

Compilation time of qtbase is now 1h02m!

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #859 on: January 11, 2025, 01:00:51 am »
OK, moving the porting of Qt 6.8.x back to the development thread...

New problem building qtdeclarative 6.8.1:
Code: [Select]
FAILED: src/quickcontrols/fusion/.rcc/qmlcache/QuickControls2Fusion_DelayButton_qml.cpp src/quickcontrols/fusion/.rcc/qmlcache/QuickControls2Fusion_DelayButton_qml.cpp.aotstats U:/dev/qt6-declarative-os2-6.8.x/build/src/quickcontrols/fusion/.rcc/qmlcache/QuickControls2Fusion_DelayButton_qml.cpp U:/dev/qt6-declarative-os2-6.8.x/build/src/quickcontrols/fusion/.rcc/qmlcache/QuickControls2Fusion_DelayButton_qml.cpp.aotstats
cd U:/dev/qt6-declarative-os2-6.8.x/build/src/quickcontrols/fusion && C:/usr/bin/cmake.exe -E make_directory U:/dev/qt6-declarative-os2-6.8.x/build/src/quickcontrols/fusion/.rcc/qmlcache && U:/dev/qt6-declarative-os2-6.8.x/build/bin/qmlcachegen.exe --bare --resource-path /qt-project.org/imports/QtQuick/Controls/Fusion/DelayButton.qml -I U:/dev/qt6-declarative-os2-6.8.x/build/qml/ -I U:/dev/qt6-declarative-os2-6.8.x/build/qml -i U:/dev/qt6-declarative-os2-6.8.x/build/qml/QtQuick/Controls/Fusion/qmldir --resource U:/dev/qt6-declarative-os2-6.8.x/build/src/quickcontrols/fusion/.qt/rcc/qmake_QtQuick_Controls_Fusion.qrc --resource U:/dev/qt6-declarative-os2-6.8.x/build/src/quickcontrols/fusion/.qt/rcc/QuickControls2Fusion_raw_qml_0.qrc --resource U:/dev/qt6-declarative-os2-6.8.x/build/src/quickcontrols/fusion/.qt/rcc/qtquickcontrols2fusionstyle.qrc --dump-aot-stats "--module-id=QtQuick.Controls.Fusion(QuickControls2Fusion)" -o U:/dev/qt6-declarative-os2-6.8.x/build/src/quickcontrols/fusion/.rcc/qmlcache/QuickControls2Fusion_DelayButton_qml.cpp U:/dev/qt6-declarative-os2-6.8.x/src/quickcontrols/fusion/DelayButton.qml
Assertion failed: _UM_CRUMB_STATUS (crumb) == _UMS_FREE, file ./libc-0.1.13/src/emx/src/lib/malloc/ifree.c, line 30

The full output (including stderr is):
Code: [Select]
Assertion failed: _UM_CRUMB_STATUS (crumb) == _UMS_FREE, file ./libc-0.1.13/src/emx/src/lib/malloc/ifree.c, line 30

Killed by SIGABRT
pid=0x029b ppid=0x029a tid=0x0001 slot=0x008d pri=0x0200 mc=0x0001 ps=0x0010
U:\DEV\QT6-DECLARATIVE-OS2-6.8.X\BUILD\BIN\QMLCACHEGEN.EXE
Creating 029B_01.TRP
Moved 029b_01.TRP to C:\var\log\app\678247e1-029b_01-QMLCACHEGEN-exceptq.txt

_fmutex operation failed:  LIBC Heap request
 
Killed by SIGABRT
pid=0x029b ppid=0x029a tid=0x0001 slot=0x008d pri=0x0200 mc=0x0002 ps=0x0017
U:\DEV\QT6-DECLARATIVE-OS2-6.8.X\BUILD\BIN\QMLCACHEGEN.EXE
Creating 029B_01.TRP
Failed to move 029b_01.TRP to C:\var\log\app\678247e1-029b_01-QMLCACHEGEN-exceptq.txt
Abort trap

Trap attached (FWIW)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #860 on: January 11, 2025, 06:28:11 am »
For now, I'm just ignoring the error and telling ninja to keep compiling - will see how far it gets....

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #861 on: January 12, 2025, 02:37:20 am »
OK, that got me further, but then cmake install doesn't complete due to missing targets.

Attached is a trap from a debug qmlcachegen

This helped.... it showed the free() call which is troubling libc came from:
Code: [Select]
0013F468  1CD8CF17   QT6QMLCO  0001:000ACF17  qhash.h#1524 __ZN6QQmlJS15ContextualTypesD1Ev$w$lTwuLaOHst85hU6b4 + 87 0001:000ACE90 (U:\dev\qt6-declarative-os2-6.8.x\src\qmlcompiler\qqmljsimporter.cpp)

Looking at qhash.h#1524: ie https://github.com/psmedley/qt6-base-os2/blob/6.8.x/src/corelib/tools/qhash.h#L1524
it has:
Code: [Select]
1523:        if (d && !d->ref.deref())
1524:            delete d;

For the purposes of getting qtdeclarative built - I've just commented these two lines - will see if it completes!

Of course, I have no idea why this is problematic or how to 'correctly' fix it.
« Last Edit: January 12, 2025, 04:43:30 am by Paul Smedley »