News:

OS2World.com Forum is back !!!

Remember to visit OS2World at:
http://www.os2world.com

Main Menu

Qt6 Development

Started by Paul Smedley, November 10, 2022, 09:28:30 PM

Previous topic - Next topic

Paul Smedley

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

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

Quote from: Paul Smedley 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:

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

Paul Smedley

Quote from: Paul Smedley on March 11, 2023, 08:39:08 AM
Quote from: Paul Smedley 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:

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:
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

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

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

Quote from: Paul Smedley 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)

Qt 6.4.2 - got about 500 or so files through the build, got a weird one now... the command:
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:
[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:
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

Quote from: Paul Smedley on March 14, 2023, 09:46:36 AM
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

OK the initial list of missing symbols was due to the chromium code not being linked.

The current list is much better:
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

#639
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

Paul Smedley

OK, down to just:
weakld: error: Unresolved symbol (UNDEF) '__ZN8printing16GenerateHandlersEv'

Will aim to work it out tomorrow.

Paul Smedley

We got a DLL :) More in the Testing thread and git checkins to come later today...

Paul Smedley

Quote from: Paul Smedley on March 15, 2023, 09:13:47 AM
Quote from: Paul Smedley 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)

Qt 6.4.2 - got about 500 or so files through the build, got a weird one now... the command:
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:
[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:
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

Quote from: Paul Smedley on March 18, 2023, 07:22:36 AM
Testing a fix/workaround/hack (pick 1) now...

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

Paul Smedley

#644
Quote from: Paul Smedley on March 18, 2023, 09:56:41 AM
Quote from: Paul Smedley on March 18, 2023, 07:22:36 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.