Author Topic: Qt6 Development  (Read 382418 times)

David McKenna

  • Hero Member
  • *****
  • Posts: 844
  • Karma: +27/-0
    • View Profile
Re: Qt6 Development
« Reply #795 on: June 02, 2024, 12:30:29 am »
 Fingers crossed! Thanks for keeping us updated on your progress Paul.

Regards,

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #796 on: June 02, 2024, 03:19:29 am »
<sigh> it didn't help

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5173
  • Karma: +118/-1
    • View Profile
Re: Qt6 Development
« Reply #797 on: June 03, 2024, 05:02:59 am »
weird, working for me...
Code: [Select]
{0}[u:\dev\dooble] mkdir obj

{0}[u:\dev\dooble] cd obj

{0}[u:\dev\dooble\obj] qmake ..\dooble.pro
Project MESSAGE: The QtCharts module has been discovered.

{0}[u:\dev\dooble\obj] qmake --version
QMake version 3.1
Using Qt version 6.2.8 in U:/QT6-6.2.X/lib

One change here is that with fix, Dooble now acts as a PM app, VIO window disappears until Dooble exits, rather then morphing to PM, which left the VIO window outputting mostly stderr. You should check your Dooble's stderr. lots of messages.
attaching my .qmake.stash for comparing with yours. Mine created in my Qt6 dev environment, qmake-qt5 ../dooble.pro

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #798 on: June 04, 2024, 05:06:29 am »
Hi Dave,

I didn't actually rebuild dooble, I just confirmed qmake ran successfully.  I would have thought the PM morphing would match the Qt5 behaviour,  noting that I haven't build or used a qt5 dooble in some time....

Attached my .qmake-stash generated with qt6 qmake

Cheers,

Paul

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5173
  • Karma: +118/-1
    • View Profile
Re: Qt6 Development
« Reply #799 on: June 04, 2024, 06:11:48 am »
No, Qt5 Dooble has always morphed here, unlike Qt6 Dooble.
After converting line endings (?) and changing the drive letter, here's the diff,
Code: [Select]
--- .qmake.stash-1.txt  2024-06-03 21:03:10.000000000 -0700
+++ .qmake.stash.txt    2024-06-02 19:20:38.000000000 -0700
@@ -8,6 +8,8 @@
     QMAKE_GCC_MINOR_VERSION \
     QMAKE_GCC_PATCH_VERSION
 QMAKE_CXX.INCDIRS = \
+    L:/qt6-6.2.x/include \
+    W:/usr/include \
     W:/usr/include/c++/9 \
     W:/usr/include/c++/9/i686-pc-os2-emx \
     W:/usr/include/c++/9/backward \
@@ -23,5 +25,6 @@
 QMAKE_CXX.LIBDIRS = \
     W:/usr/lib/gcc/i686-pc-os2-emx/9 \
     W:/usr/lib/gcc \
+    L:/qt6-6.2.x/lib \
     W:/usr/lib \
     /@unixroot/usr/lib

Which brings up the question of how your environment is finding the Qt6 stuff. My qt6dev.cmd,
Code: [Select]
set QT6_ROOT=L:
set C_INCLUDE_PATH=%QT6_ROOT%/qt6-6.2.x/include;%UNIXROOT%/usr/include;%UNIXROOT/usr/local/include;%C_INCLUDE_PATH%
set CPLUS_INCLUDE_PATH=%C_INCLUDE_PATH%
set LIBRARY_PATH=%QT6_ROOT%/qt6-6.2.x/lib;%UNIXROOT%/usr/lib;%UNIXROOT/usr/local/lib;%LIBRARY_PATH%
set PATH=%QT6_ROOT%\qt6-6.2.x\bin;%PATH%
set BEGINLIBPATH=%QT6_ROOT%\qt6-6.2.x\lib;%BEGINLIBPATH%

As you can see, @unixroot is W: here and I have qt6-6.2.x installed in the root of L:

Edit: Now I see typos, dropped %. I'll fix and retest.
Edit2: No change, nothing in usr/local that matters anyways
« Last Edit: June 04, 2024, 06:16:43 am by Dave Yeo »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5173
  • Karma: +118/-1
    • View Profile
Re: Qt6 Development
« Reply #800 on: June 04, 2024, 06:29:45 am »
OK, solved it. Removed the C_INCLUDE_PATH, LIBRARY_PATH and CPLUS_INCLUDE_PATH, leaving the PATH and BEGINLIBPATH statements and qmake ../dooble.pro works.
Guess I was getting too fancy with setting up the environment

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #801 on: September 07, 2024, 02:27:43 am »
Not able to test it right now,  as it will trigger a regeneration of build.ninja and likely want to rebuild all of webengine,  but I noticed that ninja was updated earlier this year to v1.12.1

I updated the fork at https://github.com/psmedley/ninja-os2 and built a binary. https://smedley.id.au/tmp/ninja-1.12.1-os2-20240907.zip

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #802 on: October 13, 2024, 08:41:32 am »
Made some progress with Qt 6.2.8 webengine over the weekend - seems that https://github.com/psmedley/qt6-webengine-os2/commit/83083b1d2f14d1297b8ac24ae0dfad85e90e2037 allows some pages with light javascript to work  - screenshots in the applications thread.

Also, because I'm a glutton for punishment... https://github.com/psmedley/qt6-base-os2/tree/6.8.x

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #803 on: October 13, 2024, 11:01:56 am »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #804 on: December 28, 2024, 11:08:16 pm »
For interest only...

Most recent builds have been done using a Lenovo M73p - 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 M73p - 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.

Cheers,

Paul

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5173
  • Karma: +118/-1
    • View Profile
Re: Qt6 Development
« Reply #805 on: December 29, 2024, 11:02:58 pm »
Building on my Lenovo M910S, 7th generation I5, I get 63 minutes to configure and build qt6-os2-base including examples. I let cmake decide on the number of jobs with --parallel, seems to have picked 4.
I found with Mozilla, while FF and SM built fine with make -j5 (Mozilla recommended one job higher then number of cores), TB build always hung unless I used -j3. OOM I assume.
Interestingly, I found that having virtualaddresslimit=3072, configure of qt6-os2-base consistently hung, reducing it to 2816 fixed that

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2377
  • Karma: +183/-0
    • View Profile
Re: Qt6 Development
« Reply #806 on: December 30, 2024, 09:35:17 am »
Still in work, but I merged qtbase 6.6.3 this morning and it's mostly built. Be interesting to see if the DLL's can drop in over the 6.2.x ones and still work. I guess it depends how many functions have been removed....

TeLLie

  • Sr. Member
  • ****
  • Posts: 262
  • Karma: +14/-0
    • View Profile
Re: Qt6 Development
« Reply #807 on: December 30, 2024, 03:36:18 pm »
Hi Paul and David,

I cannot get the base build, i get lots of errors.
Not remember what those are, as im not @ home.
Do you use a cmd or sh to get it build..
And are u use something special?


Kind regards, Tellie

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5173
  • Karma: +118/-1
    • View Profile
Re: Qt6 Development
« Reply #808 on: December 30, 2024, 04:50:02 pm »
My cmd file, based on what Paul recently recommended.
Code: [Select]
set BEGINLIBPATH=C:\work\qt6-os2\qt6-base-os2\build\lib
dash ../configure -prefix /qt6-6.2.x -release -no-opengl -system-sqlite -openssl-linked -no-pch -- -DQT_BUILD_EXAMPLES=ON -DQT_BUILD_TESTS=OFF 2>&1 | tee configure.log
cmake --build . --parallel 2>&1 | tee build.log
Adjust paths as needed.

TeLLie

  • Sr. Member
  • ****
  • Posts: 262
  • Karma: +14/-0
    • View Profile
Re: Qt6 Development
« Reply #809 on: December 30, 2024, 06:33:48 pm »
My cmd file, based on what Paul recently recommended.
Code: [Select]
set BEGINLIBPATH=C:\work\qt6-os2\qt6-base-os2\build\lib
dash ../configure -prefix /qt6-6.2.x -release -no-opengl -system-sqlite -openssl-linked -no-pch -- -DQT_BUILD_EXAMPLES=ON -DQT_BUILD_TESTS=OFF 2>&1 | tee configure.log
cmake --build . --parallel 2>&1 | tee build.log
Adjust paths as needed.

Hi Dave,
You use qt6 or qt5 ?

I upload a qt5 file and a qt6 file
« Last Edit: December 30, 2024, 07:39:05 pm by TeLLie »