Author Topic: Qt6 Development  (Read 364896 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #630 on: March 10, 2023, 11:57:36 pm »
qtwebengine 6.3.x update: Might have finally found a way to work around too long filenames, waiting now to see what happens:

Qt 6.4.2 update: qtbase, qtmultimedia, qtshadertools, qtposition, qtsvg, qttools are built (not tested), building qtdeclarative now, then qtwebsockets and qtwebchannel. I won't even start thinking about qtwebengine until I have the webengine from 6.3.x built and in a similar state to the 6.2.4 webengine...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #631 on: March 11, 2023, 08:37:49 am »
Qt 6.4.2 libs (excluding QtWebEngine) are built. There are some deprecation warnings compiling some of the OS/2 specific code that I need to take a look at...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #632 on: March 11, 2023, 08:39:08 am »
qtwebengine 6.3.x update: Might have finally found a way to work around too long filenames, waiting now to see what happens:

Making progress - but still battling with the super long filenames...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #633 on: March 13, 2023, 09:56:59 am »
qtwebengine 6.3.x update: Might have finally found a way to work around too long filenames, waiting now to see what happens:

Making progress - but still battling with the super long filenames...
OK, I fixed these, but I still have the problem where node.exe doesn't save any output.... Need to properly fix this.... This time, terser doesn't seem to be involved.

Testcase is:
Code: [Select]
C:/USR/BIN/python3 ../../../../../src/3rdparty/chromium/third_party/node/node.py ../../../../../src/3rdparty/chromium/third_party/devtools-frontend/src/node_modules/rollup/dist/bin/rollup --silent --config ../../../../../src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/rollup.config.js --input gen/third_party/devtools-frontend/src/front_end/core/protocol_client/protocol_client.prebundle.js --file gen/third_party/devtools-frontend/src/front_end/core/protocol_client/protocol_client.js --configDCHECK
Will have to determine if rollup needs patching, or if it's a problem with my nodejs port...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #634 on: March 14, 2023, 09:07:37 am »
Seems to be my old friend 'terser' - disabling terser (by commenting out the references at https://github.com/psmedley/qt6-webengine-os2/blob/6.3.x/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/rollup.config.js#L83) seems to create the .js file (they'll just be bigger than they should/need to be).

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #635 on: March 14, 2023, 09:46:36 am »
QtWebEngine 6.3.x is back to chugging along nicely.

I merged 6.4.2 code over the weekend - and that build is now at:
[59/25759] CXX obj/base/allocator/partition_allocator/partition_alloc/page_allocator.o
FAILED: obj/base/allocator/partition_allocator/partition_alloc/page_allocator.o

LONG way to go, and not planning on tacking it any more this evening, but work has commenced (Yes, before I even finished 6.3.x - I'll cherrypick any remaining fixed over to 6.4.x)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #636 on: March 15, 2023, 09:13:47 am »
QtWebEngine 6.3.x is back to chugging along nicely.

I merged 6.4.2 code over the weekend - and that build is now at:
[59/25759] CXX obj/base/allocator/partition_allocator/partition_alloc/page_allocator.o
FAILED: obj/base/allocator/partition_allocator/partition_alloc/page_allocator.o

LONG way to go, and not planning on tacking it any more this evening, but work has commenced (Yes, before I even finished 6.3.x - I'll cherrypick any remaining fixed over to 6.4.x)

Qt 6.4.2 - got about 500 or so files through the build, got a weird one now... the command:
Code: [Select]
C:/USR/BIN/python3 "../../../../../src/3rdparty/chromium/build/toolchain/gcc_link_wrapper.py" --output="./brotli.exe" -- g++ -fstack-protector -Zomf -Zmap -Zhigh-mem -lcx -lintl -lpthread -m32 -Zstack 0x2000 -o "./brotli.exe"  @"./brotli.exe.rsp"
fails with:
Code: [Select]
[4/25136] LINK ./brotli.exe
FAILED: brotli.exe
C:/USR/BIN/python3 "../../../../../src/3rdparty/chromium/build/toolchain/gcc_link_wrapper.py" --output="./brotli.exe" -- g++ -fstack-protector -Zomf -Zmap -Zhigh-mem -lcx -lintl -lpthread -m32 -Zstack 0x2000 -o "./brotli.exe"  @"./brotli.exe.rsp"   
g++: internal compiler error: Segmentation fault signal terminated program emxomfld.exe
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://github.com/bitwiseworks/gcc-os2/issues> for instructions.

popuplog.os2 has the following:
Code: [Select]
03-15-2023  17:36:32  SYS3175  PID 0dad  TID 0001  Slot 008a
C:\USR\BIN\EMXOMFLD.EXE
c0000005
1e4dcd05
P1=00000002  P2=00141000  P3=XXXXXXXX  P4=XXXXXXXX 
EAX=00140fa9  EBX=00000473  ECX=00000107  EDX=00000473
ESI=200cf255  EDI=00140ffd 
DS=0053  DSACC=d0f3  DSLIM=bfffffff 
ES=0053  ESACC=d0f3  ESLIM=bfffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:1e4dcd05  CSACC=d0df  CSLIM=bfffffff
SS:ESP=0053:0013eee4  SSACC=d0f3  SSLIM=bfffffff
EBP=0013ef28  FLG=00010203

LIBCN0.DLL 0001:0008cd05

Of course, if I run 'g++ -fstack-protector -Zomf -Zmap -Zhigh-mem -lcx -lintl -lpthread -m32 -Zstack 0x2000 -o "./brotli.exe"  @"./brotli.exe.rsp"' directly - the command works fine, so perhaps it's an issue with python3's popen command....

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #637 on: March 15, 2023, 09:14:13 pm »
QtWebEngine 6.3.x is back to chugging along nicely.
The compile completed last night. I now get the fun of working through missing symbols, where the chromium code has evolved and either hasn't been compiled for OS/2, or needs some adaptations for OS/2.

The list is quite long, but many of the symbol names are similar, so the solutions should fix multiple symbols with one change:

Tomorrow (Friday) is my day off, and with my still busted toe, there's not much I can do, so I'll try and work through these.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #638 on: March 16, 2023, 03:16:30 am »
OK the initial list of missing symbols was due to the chromium code not being linked.

The current list is much better:
Code: [Select]
Error! E2028: __ZN8printing15PrintingContext6CreateEPNS0_8DelegateE is an undefined reference
Error! E2028: __ZN8printing15PrintedDocument21RenderPrintedDocumentEPNS_15PrintingContextE is an undefined reference
Error! E2028: __ZN5angle14GetCurrentTimeEv is an undefined reference
Error! E2028: _av_stream_get_first_dts is an undefined reference
Error! E2028: __ZN7content8internal26ChildProcessLauncherHelper40CreateNamedPlatformChannelOnClientThreadEv is an undefined reference
Error! E2028: __ZN2gl12GLSurfaceEGL14GetDisplayTypeEv is an undefined reference
Error! E2028: __ZN2gl4init26InitializeStaticGLBindingsENS_21GLImplementationPartsE is an undefined reference
Error! E2028: __ZN2ui23AddNativeCoreColorMixerEPNS_13ColorProviderEbb is an undefined reference
Error! E2028: __ZN2ui21AddNativeUiColorMixerEPNS_13ColorProviderEbb is an undefined reference
Error! E2028: __ZN2ui28AddNativePostprocessingMixerEPNS_13ColorProviderE is an undefined reference
Error! E2021: size of segment text exceeds 64k by 251243 bytes

I'll work through these starting tonight - also seems we have some new assembly code that's using 16bit code...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #639 on: March 16, 2023, 08:45:22 am »
I'll hopefully be down to just _av_stream_get_first_dts shortly.

Plan is to build a new libavformat using the patch from https://aur.archlinux.org/cgit/aur.git/tree/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch?h=ffmpeg-intel-full-git

Edit: new plan is to backport the relevant parts of https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/427771
« Last Edit: March 16, 2023, 09:10:24 am by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #640 on: March 16, 2023, 10:15:00 am »
OK, down to just:
Code: [Select]
weakld: error: Unresolved symbol (UNDEF) '__ZN8printing16GenerateHandlersEv'
Will aim to work it out tomorrow.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #641 on: March 16, 2023, 09:24:31 pm »
We got a DLL :) More in the Testing thread and git checkins to come later today...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #642 on: March 18, 2023, 07:22:36 am »
QtWebEngine 6.3.x is back to chugging along nicely.

I merged 6.4.2 code over the weekend - and that build is now at:
[59/25759] CXX obj/base/allocator/partition_allocator/partition_alloc/page_allocator.o
FAILED: obj/base/allocator/partition_allocator/partition_alloc/page_allocator.o

LONG way to go, and not planning on tacking it any more this evening, but work has commenced (Yes, before I even finished 6.3.x - I'll cherrypick any remaining fixed over to 6.4.x)

Qt 6.4.2 - got about 500 or so files through the build, got a weird one now... the command:
Code: [Select]
C:/USR/BIN/python3 "../../../../../src/3rdparty/chromium/build/toolchain/gcc_link_wrapper.py" --output="./brotli.exe" -- g++ -fstack-protector -Zomf -Zmap -Zhigh-mem -lcx -lintl -lpthread -m32 -Zstack 0x2000 -o "./brotli.exe"  @"./brotli.exe.rsp"
fails with:
Code: [Select]
[4/25136] LINK ./brotli.exe
FAILED: brotli.exe
C:/USR/BIN/python3 "../../../../../src/3rdparty/chromium/build/toolchain/gcc_link_wrapper.py" --output="./brotli.exe" -- g++ -fstack-protector -Zomf -Zmap -Zhigh-mem -lcx -lintl -lpthread -m32 -Zstack 0x2000 -o "./brotli.exe"  @"./brotli.exe.rsp"   
g++: internal compiler error: Segmentation fault signal terminated program emxomfld.exe
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://github.com/bitwiseworks/gcc-os2/issues> for instructions.

popuplog.os2 has the following:
Code: [Select]
03-15-2023  17:36:32  SYS3175  PID 0dad  TID 0001  Slot 008a
C:\USR\BIN\EMXOMFLD.EXE
c0000005
1e4dcd05
P1=00000002  P2=00141000  P3=XXXXXXXX  P4=XXXXXXXX 
EAX=00140fa9  EBX=00000473  ECX=00000107  EDX=00000473
ESI=200cf255  EDI=00140ffd 
DS=0053  DSACC=d0f3  DSLIM=bfffffff 
ES=0053  ESACC=d0f3  ESLIM=bfffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:1e4dcd05  CSACC=d0df  CSLIM=bfffffff
SS:ESP=0053:0013eee4  SSACC=d0f3  SSLIM=bfffffff
EBP=0013ef28  FLG=00010203

LIBCN0.DLL 0001:0008cd05

Of course, if I run 'g++ -fstack-protector -Zomf -Zmap -Zhigh-mem -lcx -lintl -lpthread -m32 -Zstack 0x2000 -o "./brotli.exe"  @"./brotli.exe.rsp"' directly - the command works fine, so perhaps it's an issue with python3's popen command....

OK turns out this is something to do with the generated rsp (response files) - there were some changes to how they were generated in https://github.com/psmedley/qt6-webengine-os2/blob/6.4.x/src/3rdparty/chromium/build/toolchain/gcc_toolchain.gni#L671

Testing a fix/workaround/hack (pick 1) now...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #643 on: March 18, 2023, 09:56:41 am »
Testing a fix/workaround/hack (pick 1) now...

Seems to be working - started with about 26000 objects - now at [3/16064]

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2281
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #644 on: March 19, 2023, 08:21:51 am »
Testing a fix/workaround/hack (pick 1) now...

Seems to be working - started with about 26000 objects - now at [3/16064]

Further progress today with 6.4.x..... now at [327/10849] - so by my crude maths roughly 60% complete. Most changes in git, I still have a few local changes that need committing.

No time today to investigate 6.3.2

Edit: latest on Qt 6.4.x - [41/8972] - so about 65% complete.
« Last Edit: March 19, 2023, 09:58:51 am by Paul Smedley »