Author Topic: Qt6 Development  (Read 210977 times)

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4788
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #375 on: January 08, 2023, 07:52:07 am »
Wonder what error 203 is? Did you mark the DLL to load high?

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #376 on: January 08, 2023, 07:57:48 am »
Wonder what error 203 is? Did you mark the DLL to load high?
No idea what 203 is... no, I haven't tried marking the DLL to load high... perhaps I should? How do I do that again?

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #377 on: January 08, 2023, 08:06:08 am »
OK running highmem.exe --code \qt6\lib\qt6webee.dll allows dooble to load it, but now I see:
Code: [Select]
Loading DLL 'libcn0' --> C:\USR\LIB\LIBCN0.DLL.
Loading DLL 'libcx0' --> C:\USR\LIB\LIBCX0.DLL.
Loading DLL 'ssp0' --> C:\USR\LIB\SSP0.DLL.
Loading DLL 'Qt6Core' --> U:\QT6\LIB\QT6CORE.DLL.
Loading DLL 'Qt6Widgs' --> U:\QT6\LIB\QT6WIDGS.DLL.
Loading DLL 'Qt6Gui' --> U:\QT6\LIB\QT6GUI.DLL.
Loading DLL 'Qt6Print' --> U:\QT6\LIB\QT6PRINT.DLL.
Loading DLL 'gcc1' --> C:\USR\LIB\GCC1.DLL.
Loading DLL 'Qt6WebEe' --> U:\QT6\LIB\QT6WEBEE.DLL.
Loading DLL 'stdcpp6' --> C:\USR\LIB\STDCPP6.DLL.
Loading DLL 'Qt6WebEs' --> NOT loaded!
DosExit or exception while loading 'Qt6WebEs'.
Loading DLL 'Qt6Sql' --> U:\QT6\LIB\QT6SQL.DLL.
Loading DLL 'Qt6Chars' --> U:\QT6\LIB\QT6CHARS.DLL.
Loading DLL 'Qt6Qml' --> U:\QT6\LIB\QT6QML.DLL.
Loading DLL 'Qt6Netwk' --> U:\QT6\LIB\QT6NETWK.DLL.

Checking popuplog.os2 shows:
Code: [Select]
01-08-2023  16:33:56  SYS2070  PID d3fe  TID 0001  Slot 0082
C:\OS2\CHKDLL32.EXE
QT6WEBES->QT6QUICS.__ZN12QQuickWidget16staticMetaObjectE
127

so gotta look at this now..

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4788
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #378 on: January 08, 2023, 08:09:17 am »
Good, hopefully the rebuild will fix it. highmem -c qt6*dll might be an idea, load them all high. I have almost everything required by Qt5 loading high.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #379 on: January 08, 2023, 08:22:27 am »
OK running highmem.exe --code \qt6\lib\qt6webee.dll allows dooble to load it, but now I see:
Code: [Select]
Loading DLL 'libcn0' --> C:\USR\LIB\LIBCN0.DLL.
Loading DLL 'libcx0' --> C:\USR\LIB\LIBCX0.DLL.
Loading DLL 'ssp0' --> C:\USR\LIB\SSP0.DLL.
Loading DLL 'Qt6Core' --> U:\QT6\LIB\QT6CORE.DLL.
Loading DLL 'Qt6Widgs' --> U:\QT6\LIB\QT6WIDGS.DLL.
Loading DLL 'Qt6Gui' --> U:\QT6\LIB\QT6GUI.DLL.
Loading DLL 'Qt6Print' --> U:\QT6\LIB\QT6PRINT.DLL.
Loading DLL 'gcc1' --> C:\USR\LIB\GCC1.DLL.
Loading DLL 'Qt6WebEe' --> U:\QT6\LIB\QT6WEBEE.DLL.
Loading DLL 'stdcpp6' --> C:\USR\LIB\STDCPP6.DLL.
Loading DLL 'Qt6WebEs' --> NOT loaded!
DosExit or exception while loading 'Qt6WebEs'.
Loading DLL 'Qt6Sql' --> U:\QT6\LIB\QT6SQL.DLL.
Loading DLL 'Qt6Chars' --> U:\QT6\LIB\QT6CHARS.DLL.
Loading DLL 'Qt6Qml' --> U:\QT6\LIB\QT6QML.DLL.
Loading DLL 'Qt6Netwk' --> U:\QT6\LIB\QT6NETWK.DLL.

Checking popuplog.os2 shows:
Code: [Select]
01-08-2023  16:33:56  SYS2070  PID d3fe  TID 0001  Slot 0082
C:\OS2\CHKDLL32.EXE
QT6WEBES->QT6QUICS.__ZN12QQuickWidget16staticMetaObjectE
127

so gotta look at this now..

OK - so the qt6quics problem is due to QtDeclarative building multiple DLL's with the same name - and the wrong one ending up in \qt6\lib.

I now get:
Code: [Select]
{0}[u:\dev\dooble-2022.12.25] chkdll32 Dooble.exe
Loading DLL 'libcn0' --> C:\USR\LIB\LIBCN0.DLL.
Loading DLL 'libcx0' --> C:\USR\LIB\LIBCX0.DLL.
Loading DLL 'ssp0' --> C:\USR\LIB\SSP0.DLL.
Loading DLL 'Qt6Core' --> U:\QT6\LIB\QT6CORE.DLL.
Loading DLL 'Qt6Widgs' --> U:\QT6\LIB\QT6WIDGS.DLL.
Loading DLL 'Qt6Gui' --> U:\QT6\LIB\QT6GUI.DLL.
Loading DLL 'Qt6Print' --> U:\QT6\LIB\QT6PRINT.DLL.
Loading DLL 'gcc1' --> C:\USR\LIB\GCC1.DLL.
Loading DLL 'Qt6WebEe' --> U:\QT6\LIB\QT6WEBEE.DLL.
Loading DLL 'stdcpp6' --> C:\USR\LIB\STDCPP6.DLL.
Loading DLL 'Qt6WebEs' --> U:\QT6\LIB\QT6WEBES.DLL.
Loading DLL 'Qt6Sql' --> U:\QT6\LIB\QT6SQL.DLL.
Loading DLL 'Qt6Chars' --> U:\QT6\LIB\QT6CHARS.DLL.
Loading DLL 'Qt6Qml' --> U:\QT6\LIB\QT6QML.DLL.
Loading DLL 'Qt6Netwk' --> U:\QT6\LIB\QT6NETWK.DLL.
All DLL's used by 'Dooble.exe' could be loaded.


Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #380 on: January 08, 2023, 08:28:51 am »
Some simple websites seem to load!!!!!

Anything SSL seems to crash with:
Code: [Select]
[54340:4:0108/165546.039000:ERROR:cert_verify_proc_builtin.cc(559)] No net_fetcher for performing AIA chasing.


Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #381 on: January 08, 2023, 08:46:12 am »
OK... for the BRAVE.. and bear in mind the environment is a 180mb download.. I've uploaded it to Dropbox to save my poor 25 mbit upload :)

Qt6 libs - https://www.dropbox.com/s/j8ybbujncktdf22/qt6-6.2.4-os2-20230108.zip?dl=0

Dooble 2022.12.25 - https://smedley.id.au/tmp/dooble-2022.12.25-qt6-os2-20230108.zip

Qt6 is a memory hog - as Dave has suggested - it might be worth marking more DLL's high with highmem.exe

There are other examples in \qt6\examples\webenginequick & \qt6\examples\webwidgets that may be worth testing.

Things like menubar not quite lining up are KNOWN issues - see https://github.com/psmedley/qt6-base-os2/issues/6

Don't forget, you can sponsor further development at https://github.com/sponsors/psmedley or https://www.arcanoae.com/shop/os2-ports-paul-smedley
« Last Edit: January 08, 2023, 09:42:40 am by Paul Smedley »

Sigurd Fastenrath

  • Hero Member
  • *****
  • Posts: 576
  • Karma: +27/-0
  • OS/2 Versus Hardware - Maximum Warp!
    • View Profile
Re: Qt6
« Reply #382 on: January 08, 2023, 09:22:39 am »
Sponsoring via github is quite difficult (one has to register and so on.), so I did it direct via Paypal.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4788
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #383 on: January 08, 2023, 09:33:15 am »
Thanks Paul, there's something a bit weird about the zip, fc/2 displays it as empty and forcing it, I see lots of warnings, "warning:  stripped absolute path spec from /qt6/lib/" with various trailing paths. I also see some weird files, ib and llib,
Code: [Select]
Directory of H:\tmp\qt6\qt6

 1-08-23 12:30a         <DIR>    124 ----  .
 1-08-23 12:27a         <DIR>      0 ----  ..
 1-08-23  3:14p         <DIR>    124 a---  bin
11-20-22 10:47a         <DIR>    124 a---  doc
 1-08-23  3:14p         <DIR>    124 a---  examples
12-07-22  8:59p     8,701,530    124 a---  ib
 1-08-23  2:43p         <DIR>    124 a---  include
 1-08-23  3:14p         <DIR>    124 a---  lib
12-07-22  1:17p     1,426,986    124 a---  llib
12-07-22  7:11a         <DIR>    124 a---  mkspecs
 1-08-23  2:43p         <DIR>    124 a---  modules
11-26-22 12:34p         <DIR>    124 a---  phrasebooks
 1-08-23  2:43p         <DIR>    124 a---  plugins
 1-08-23  2:43p         <DIR>    124 a---  qml
 1-08-23  2:43p         <DIR>    124 a---  resources
 1-08-23  2:43p         <DIR>    124 a---  translations
       16 file(s)  10,128,516 bytes used
                    8,558,587 K bytes free

Bedtime here so will test tomorrow

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #384 on: January 08, 2023, 09:35:37 am »
Sponsoring via github is quite difficult (one has to register and so on.), so I did it direct via Paypal.
Whatever is easiest is appreciated! As Sigurd has highlighted, there is also a Paypal link on my site.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #385 on: January 08, 2023, 09:43:48 am »
Thanks Paul, there's something a bit weird about the zip, fc/2 displays it as empty and forcing it, I see lots of warnings, "warning:  stripped absolute path spec from /qt6/lib/" with various trailing paths. I also see some weird files, ib and llib,
Code: [Select]
Directory of H:\tmp\qt6\qt6

 1-08-23 12:30a         <DIR>    124 ----  .
 1-08-23 12:27a         <DIR>      0 ----  ..
 1-08-23  3:14p         <DIR>    124 a---  bin
11-20-22 10:47a         <DIR>    124 a---  doc
 1-08-23  3:14p         <DIR>    124 a---  examples
12-07-22  8:59p     8,701,530    124 a---  ib
 1-08-23  2:43p         <DIR>    124 a---  include
 1-08-23  3:14p         <DIR>    124 a---  lib
12-07-22  1:17p     1,426,986    124 a---  llib
12-07-22  7:11a         <DIR>    124 a---  mkspecs
 1-08-23  2:43p         <DIR>    124 a---  modules
11-26-22 12:34p         <DIR>    124 a---  phrasebooks
 1-08-23  2:43p         <DIR>    124 a---  plugins
 1-08-23  2:43p         <DIR>    124 a---  qml
 1-08-23  2:43p         <DIR>    124 a---  resources
 1-08-23  2:43p         <DIR>    124 a---  translations
       16 file(s)  10,128,516 bytes used
                    8,558,587 K bytes free

Bedtime here so will test tomorrow

That's weird... I created a new zip and re-uploaded to dropbox.. same filename is also available on my server in the usual location, but I'd  rather it not get hammered with multiple 180mb downloads, so I'm not posting the link :)

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Qt6
« Reply #386 on: January 08, 2023, 02:43:20 pm »
Qt6 libs - https://www.dropbox.com/s/j8ybbujncktdf22/qt6-6.2.4-os2-20230108.zip?dl=0

Dooble 2022.12.25 - https://smedley.id.au/tmp/dooble-2022.12.25-qt6-os2-20230108.zip
You did it Paul. This is an important milestone and thanks a lot.

Now came my silly question. I want to be brave and try it, but how should it be installed?
I checked the "qt6-6.2.4-os2-20230108.zip" file and I tried to located the bin on /usr/bin, the lib on /usr/lib. Where should I locate the rest?
Is that a good way to try it out, or should I locate all the Qt6 somewhere and add the paths and libpaths on config.sys?

How to mark the DLL's high with highmem.exe? Is it as simple as "highmem qt6*.dll" ?


Don't forget, you can sponsor further development at https://github.com/sponsors/psmedley or https://www.arcanoae.com/shop/os2-ports-paul-smedley

Please sponsor Paul, this is an important milestone.


Regards
« Last Edit: January 08, 2023, 03:03:53 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

David McKenna

  • Hero Member
  • *****
  • Posts: 743
  • Karma: +24/-0
    • View Profile
Re: Qt6
« Reply #387 on: January 08, 2023, 02:58:21 pm »
 Wow! Wow! Wow!

 Thanks Paul, this is fantastic! Amazing progress... I downloaded QT6 and Dooble, loaded all QT6 DLL's high and it works just as you say. Http:// sites work, but https:// give the error about AIA chasing (?). I also get warinings from Fontconfig - maybe a glitch in my environment? Makes fonts look weird in Dooble. Here is a typical console running QT6 Dooble (don't see this with QT5):

Fontconfig warning: "/@unixroot/etc/fonts\fonts.conf", line 123: Having multiple
 <family> in <alias> isn't supported and may not work as expected
Fontconfig warning: "/@unixroot/etc/fonts\fonts.conf", line 123: Having multiple
 <family> in <alias> isn't supported and may not work as expected
Fontconfig warning: "/@unixroot/etc/fonts\fonts.conf", line 123: Having multiple
 <family> in <alias> isn't supported and may not work as expected
Fontconfig warning: "/@unixroot/etc/fonts\fonts.conf", line 368: unknown element
 "blank"
Fontconfig warning: no <cachedir> elements found. Check configuration.
Fontconfig warning: adding <cachedir>/@unixroot/var/cache/fontconfig</cachedir>
Fontconfig warning: adding <cachedir prefix="xdg">fontconfig</cachedir>
ERROR:cert_verify_proc_builtin.cc(559)] No net_fetcher for performing AIA chasing.

 After trying an https:// site, Dooble crashes and the system is quite unstable, requiring a reboot.

 I'll check out the examples next...

Regards,

EDIT : it was a glitch in my environment - fixed the fontconfig warnings by re-installing fontconfig...
« Last Edit: January 08, 2023, 08:39:21 pm by David McKenna »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4788
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #388 on: January 08, 2023, 08:44:14 pm »
Hi Martin, I simply installed somewhere handy, tmp on my ramdisk (H:) and opened up a cmd window and did,
Code: [Select]
set PATH=H:\tmp\qt6\bin;%PATH%
set BEGINLIBPATH=h:\tmp\qt6\lib
dooble
and it ran fine for a few pages before vanishing. There's some cert issues but no fontconfig issues like David mentioned. The tail,
Code: [Select]
[132:36:0108/113708.183000:ERROR:cert_verify_proc_builtin.cc(559)] No net_fetcher for performing AIA chasing.
[132:27:0108/113709.603000:ERROR:cert_verify_proc_builtin.cc(559)] No net_fetcher for performing AIA chasing.

Edit, I did highmem -c qt6*dll. I noticed this,
Code: [Select]
Processing module : Qt6WebCl.dll  MODIFIED
Processing module : Qt6WebEe.dll
Processing module : Qt6WebEk.dll  MODIFIED
Something broken or just weird with QtWebEe.dll?

Edit: the PATH and LIBPATH stuff can be done in a script or even a program object
« Last Edit: January 08, 2023, 08:47:34 pm by Dave Yeo »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #389 on: January 08, 2023, 08:48:53 pm »
Qt6Webee.dll is already processed by me, so isn't modified?