Author Topic: Qt6 Development  (Read 253440 times)

KO Myung-Hun

  • Newbie
  • *
  • Posts: 28
  • Karma: +5/-0
    • View Profile
Re: Qt6 Development
« Reply #675 on: March 28, 2023, 02:16:49 am »
Weird.... - Zhigh-mem is definitely being used....
Code: [Select]
g++ -no-pie -Zstack 8192 -Zhigh-mem  -g  -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -Zomf -Zstack 8192 -Zhigh-mem -o cc1plus.exe \
      cp/cp-lang.o c-family/stub-objc.o cp/call.o cp/class.o cp/constexpr.o cp/constraint.o cp/cp-gimplify.o cp/cp-objcp-common.o cp/cp-ubsan.o cp/cvt.o cp/cxx-pretty-print.o cp/decl.o cp/decl2.o cp/dump.o cp/error.o cp/except.o cp/expr.o cp/friend.o cp/init.o cp/lambda.o cp/lex.o cp/logic.o cp/mangle.o cp/method.o cp/name-lookup.o cp/optimize.o cp/parser.o cp/pt.o cp/ptree.o cp/repo.o cp/rtti.o cp/search.o cp/semantics.o cp/tree.o cp/typeck.o cp/typeck2.o cp/vtable-class-hierarchy.o attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-indentation.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-ubsan.o c-family/known-headers.o c-family/c-attribs.o c-family/c-warn.o c-family/c-spellcheck.o i386-c.o emx-cxx.o default-c.o cc1plus-checksum.o libbackend.a main.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a -lintl  ../libbacktrace/.libs/backtrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a   -lmpc -lmpfr -lgmp   -lz
&
Code: [Select]
g++ -fno-PIE -c -Zstack 8192 -Zhigh-mem  -g  -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -I. -Ic-family -I../.././gcc -I../.././gcc/c-family -I../.././gcc/../include -I../.././gcc/../libcpp/include  -I../.././gcc/../libdecnumber -I../.././gcc/../libdecnumber/bid -I../libdecnumber -I../.././gcc/../libbacktrace   -o c-family/cppspec.o -MT c-family/cppspec.o -MMD -MP -MF c-family/.deps/cppspec.TPo ../.././gcc/c-family/cppspec.c
g++ -no-pie -Zstack 8192 -Zhigh-mem  -g  -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -Zomf -Zstack 8192 -Zhigh-mem -o cpp.exe gcc.o gcc-main.o ggc-none.o \
  c-family/cppspec.o driver-i386.o emx-driver.o libcommon-target.a \
   libcommon.a ../libcpp/libcpp.a -lintl  ../libbacktrace/.libs/backtrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a

I encountered the similar problem. And it was because of the DLLs which are not linked with -Zhigh-mem. Check DLL dependencies of your gcc and ensure that they are linked with -Zhigh-mem.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #676 on: March 28, 2023, 04:28:39 am »
Thanks for the tip, will investigate tonight.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #677 on: March 28, 2023, 11:47:30 pm »
Looks like the libtool generated DLL's didn't have -Zhigh-mem - testing now...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #678 on: March 28, 2023, 11:52:53 pm »
Early indications are that this build is good... https://smedley.id.au/tmp/gcc-9.5.0-os2-20230329.zip

Couple of notes on using with this an existing rpm setup:
Code: [Select]
set LIBPATHSTRICT=T
set path=c:\usr\local950\bin;%path%
set beginlibpath=c:\usr\local950\lib

LIBPATHSTRICT and beginlibpath are required due to additional exports in STDCPP6.DLL that aren't present in the 9.2.0 version

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #679 on: March 29, 2023, 11:27:01 am »
Confirming that this one works nicely with an rpm environment. Building a 12.2.0 build now that installs into /@unixroot/usr/local1220 for better compatability with an rpm env

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #680 on: March 29, 2023, 08:59:10 pm »
https://smedley.id.au/tmp/gcc-12.2.0-os2-20230330.zip - testing now with building qt6 base with it...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #681 on: March 30, 2023, 10:57:28 pm »
https://smedley.id.au/tmp/gcc-12.2.0-os2-20230330.zip - testing now with building qt6 base with it...
FWIW - all of Qt 6.4.3 has been rebuilt with this build except for the webengine. webengine is at [10054/24001]

Updating the compiler probably won't fix anything,  but you never know :)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #682 on: April 01, 2023, 01:18:52 am »
OK qtwebengine is rebuilt with gcc 12.2.0 and the crash is very similar.. (see attached)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #683 on: April 01, 2023, 03:42:29 am »
I have some clues on what's wrong with the webengine on 6.4.3, more later

I tried running qtwebengineprocess from a command line with --help and got an error about no OpenGL implementation being available. That reminded me of some hack I made in some of the OpenGL code. I've now reverted those hacks and will attempt to fix another way.

Depending how sore my foot is this afternoon, I hope to have more updates in a few hours.
« Last Edit: April 01, 2023, 03:52:14 am by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #684 on: April 01, 2023, 06:05:07 am »
OK cleaned some things up, but it didn't help the TRP :(

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #685 on: April 02, 2023, 12:32:48 am »
Whilst I seek inspiration to resolve the issues with QtWebEngine - I'm back to trying to resolve issues with the 'workerscriptplugin'.

You'll note that some of the examples give an error:
Code: [Select]
QQmlApplicationEngine failed to load component
qrc:/qml/Main.qml:7:1: module "QtQml.WorkerScript" plugin "workerscriptplugin" not found

With some hacks, this error is now:
Code: [Select]
"qrc:/window/window.qml:4 module \"QtQml.WorkerScript\" plugin \"workersnplugin\" not found\n"

So I just need to find where "plugin" is being appended and this may then work.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #686 on: April 02, 2023, 06:34:51 am »
Sorta progress...
Code: [Select]
"qrc:/window/window.qml:4 module \"QtQml.WorkerScript\" plugin \"workersn\" not found\n"

So now the DLL name is correct but it's still not found!

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #687 on: April 04, 2023, 10:02:52 am »
Updated GCC 12.2.0 build, which is compatible with rpm. https://smedley.id.au/tmp/gcc-12.2.0-os2-20230404.zip

Only changes are to cxx11::filesystem support to better support drive letters. This avoids errors like:
Code: [Select]
  syncqt.cpp failed for module QtCore:
  terminate called after throwing an instance of
  'std::filesystem::__cxx11::filesystem_error'
    what():  filesystem error: cannot make canonical path: No such file or directory [U:/dev/qt6-base-os2-6.5.x/build]

Qt Base 6.5.0 now builds, and at least rasterwindow.exe still works.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #688 on: April 04, 2023, 01:04:52 pm »
For interest, https://www.qt.io/blog/qt-6.5-lts-released details the changes in Qt 6.5

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2115
  • Karma: +164/-0
    • View Profile
Re: Qt6 Development
« Reply #689 on: April 05, 2023, 05:32:21 am »
Qt6 6.5 is built, with the exception of the WebEngine. https://smedley.id.au/tmp/qt6-6.5.0-os2-20230405.zip has some binaries. Literally the only .exe I've tested is the raster window example.

Installation is in /qt6-6.5 to make it easier to test multiple versions. Make sure /qt6-6.5/bin is in path; and /qt6-6.5/lib is in libpath.

config.summary from Qt6 6.5 Webengine is attached. Haven't tried to start the compile yet.