Author Topic: Qt6 Development  (Read 233973 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #225 on: December 08, 2022, 07:41:54 pm »
Hi Gregg,


Do you have an autoninja too?

I have ninja.exe. You probably do to if your qt5 web engine build got far enough U:\QT5_Workspace\qt5\qtwebengine\src\3rdparty\ninja\ninja.exe.

I got QT6 base to build. It had a problem with QDbus.dll because the lib name was wrong Dbus_1-NOTFOUND. It should have been Dbus13.dll. I fixed the CmakeLists.txt for QDbus.dll do you want a patch for it?

I am also working on adding the ability to open links and files where opening a different (child) app is required.

a PR or patch for QtDbus would be great.

I built the latest ninja last night (1.11.1) - I'll upload to github at some point.

Gregg Young

  • Jr. Member
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Qt6
« Reply #226 on: December 08, 2022, 09:02:11 pm »
Hi Greg

I see in my cmakecache.txt

//The directory containing a CMake configuration file for DBus1.
DBus1_DIR:PATH=h:/usr/local1220/lib/cmake/DBus1

//Path to a file.
DBus1_INCLUDE_DIR:PATH=h:/usr/local1220/include/dbus-1.0

//Path to a library.
DBus1_LIBRARY:FILEPATH=h:/usr/local1220/lib/dbus-1_dll.a

But i have also a dbus-13_dll.a


I have the following files:

J:\usr\lib\dbus-13_dll.a
J:\usr\lib\dbus-1_dll.a
J:\usr\lib\dbus13.dll

When I tried to link with J:\usr\lib\dbus-1_dll.a it failed (not found). It compiled when I tried J:\usr\lib\dbus13.dll.

My cmakecache.txt was the same as yours.  If it worked for you I will try reinstalling Dbus and see what happens. Are you using the i686 or the Pentium4 version of Dbus? Mine's the Pentium4.

Thanks

Gregg
« Last Edit: December 08, 2022, 09:05:58 pm by Gregg Young »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #227 on: December 08, 2022, 09:06:40 pm »

Gregg Young

  • Jr. Member
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Qt6
« Reply #228 on: December 08, 2022, 09:21:04 pm »
I rebuilt qt-creator with the newer cmake, which took care of some of the DLL naming conflicts, and it also includes some fixes for path related issues.

https://smedley.id.au/tmp/qt-creator-8.0.1-os2-20221207.zip

It's still not terribly useful, as trying to tell it the path to a qmake.exe (for example) leads to a long delay, followed by a message "The qmake executable .... could not be added. Cannot start ...."

There's a (possibly related) console message:
Code: [Select]
[launcher] "qtc.utils.launcher: \"Socket error: QLocalSocket::connectToServer: Unknown error 49 (Can't assign requested address)\"\r\n"

(edited, added .zip to url)

Hi Paul

I tried this but got: The path is correct.
Code: [Select]
Failed to load core: V:\Download\qt-creator-8.0.1-os2-20221207\qtcreator\lib\qtcreator\plugins\Core.dll:
Cannot load library V:/Download/qt-creator-8.0.1-os2-20221207/qtcreator/lib/qtcreator/plugins/Core.dll: (dlopen rc=2 extra=AGGREGAN)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #229 on: December 08, 2022, 09:50:44 pm »
{0}[u:\qtcreator] chkdll32 lib\qtcreator\plugins\Core.dll
Loading DLL 'libcn0' --> C:\USR\LIB\LIBCN0.DLL.
Loading DLL 'Qt6Gui' --> U:\QT6\LIB\QT6GUI.DLL.
Loading DLL 'Qt6Core' --> U:\QT6\LIB\QT6CORE.DLL.
Loading DLL 'Qt6Widgs' --> U:\QT6\LIB\QT6WIDGS.DLL.
Loading DLL 'Utils' --> U:\QTCREATOR\LIB\QTCREATOR\UTILS.DLL.
Loading DLL 'gcc1' --> C:\USR\LIB\GCC1.DLL.
Loading DLL 'Extensim' --> U:\QTCREATOR\LIB\QTCREATOR\EXTENSIM.DLL.
Loading DLL 'Qt6Coret' --> U:\QT6\LIB\QT6CORET.DLL.
Loading DLL 'Aggregan' --> U:\QTCREATOR\LIB\QTCREATOR\AGGREGAN.DLL.
Loading DLL 'Qt6Qml' --> U:\QT6\LIB\QT6QML.DLL.
Loading DLL 'Qt6Print' --> U:\QT6\LIB\QT6PRINT.DLL.
Loading DLL 'Qt6Sql' --> U:\QT6\LIB\QT6SQL.DLL.
Loading DLL 'libcx0' --> C:\USR\LIB\LIBCX0.DLL.
All DLL's used by 'lib\qtcreator\plugins\Core.dll' could be loaded.

make sure the lib\qtcreator and lib\qtcreator\plugins are in the libpath

I'm using a qtcreator.cmd like:
set beginlibpath=u:\qtcreator\lib\qtcreator;u:\qtcreator\lib\qtcreator\plugins;
qtcreator.exe

TeLLie

  • Full Member
  • ***
  • Posts: 233
  • Karma: +11/-0
    • View Profile
Re: Qt6
« Reply #230 on: December 08, 2022, 09:53:41 pm »
Hi Greg

I see in my cmakecache.txt

//The directory containing a CMake configuration file for DBus1.
DBus1_DIR:PATH=h:/usr/local1220/lib/cmake/DBus1

//Path to a file.
DBus1_INCLUDE_DIR:PATH=h:/usr/local1220/include/dbus-1.0

//Path to a library.
DBus1_LIBRARY:FILEPATH=h:/usr/local1220/lib/dbus-1_dll.a

But i have also a dbus-13_dll.a


I have the following files:

J:\usr\lib\dbus-13_dll.a
J:\usr\lib\dbus-1_dll.a
J:\usr\lib\dbus13.dll

When I tried to link with J:\usr\lib\dbus-1_dll.a it failed (not found). It compiled when I tried J:\usr\lib\dbus13.dll.

My cmakecache.txt was the same as yours.  If it worked for you I will try reinstalling Dbus and see what happens. Are you using the i686 or the Pentium4 version of Dbus? Mine's the Pentium4.
Hi Greg,

I use pentium

Thanks

Gregg

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4807
  • Karma: +100/-1
    • View Profile
Re: Qt6
« Reply #231 on: December 09, 2022, 12:12:31 am »
I have dbus disabled, can't imagine it doing much on OS/2

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #232 on: December 09, 2022, 01:41:46 am »
I did a debug build of Qt6 - so I'm going to step through a simple testcase that is giving me the "Broken filename passed to function" error and try and work out what's happening...

uggh local variables aren't showing for me, and it's asking for paths for every source file :(
« Last Edit: December 09, 2022, 01:55:59 am by Paul Smedley »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4807
  • Karma: +100/-1
    • View Profile
Re: Qt6
« Reply #233 on: December 09, 2022, 02:13:17 am »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4807
  • Karma: +100/-1
    • View Profile
Re: Qt6
« Reply #234 on: December 09, 2022, 04:33:36 am »
I built the latest ninja last night (1.11.1) - I'll upload to github at some point.

It's interesting doing the build with ninja on the PATH. After the configure step, there are no makefiles so have to do a cmake build . (Cmake uses too much memory to do parallel here) Ninja replaces make and eventually the build dies due to the qtcore dll being misnamed in the def as something like lib/qtcore.dll, forget the actual name.
Really the cmake build should be fixed, unluckily I know very little about cmake.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #235 on: December 09, 2022, 05:14:25 am »
For me, the build finished with ninja in path, but the executables failed due to being unable to find lib/qt6core

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4807
  • Karma: +100/-1
    • View Profile
Re: Qt6
« Reply #236 on: December 09, 2022, 05:40:14 am »
I may have to reboot, now I'm seeing garbage instead of lib/qt6core. I also had a problem with my branch with workarounds for the IPv6 issue I described earlier, perhaps a failure of rebasing.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #237 on: December 09, 2022, 08:25:37 am »
In https://github.com/psmedley/qt6-webengine-os2/commit/3e1652310ddb3fb06e937e7786093babd8c7893e I hacked around the requirement for nodejs in the cmake configure script, and also enabled the GNU Compiler for OS2.

This at least allows me to get to the point where configure thinks we meet all the requirements and allows us to start compiling things.

Of course it broke almost immediately, but that's OK, I already know I have a bunch of partially applied diffs to fix :)

Edit: I got a gn.exe :) it fails on generating build files though:
Code: [Select]
  -- GN FAILED

  ERROR Can't create the build dir.

  I could not create the build dir
  "U:/dev/qt6-webengine-os2/build/U:/DEV/qt6-webengine-os2/build/src/core/Release/i386/".

The gn code got restructed quite a bit, so there are diffs missing... going hunting now...
« Last Edit: December 09, 2022, 09:45:16 am by Paul Smedley »

Jochen Schäfer

  • Sr. Member
  • ****
  • Posts: 339
  • Karma: +28/-0
    • View Profile
Re: Qt6
« Reply #238 on: December 09, 2022, 09:34:22 am »
I did a debug build of Qt6 - so I'm going to step through a simple testcase that is giving me the "Broken filename passed to function" error and try and work out what's happening...

uggh local variables aren't showing for me, and it's asking for paths for every source file :(
How do you debug?

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2095
  • Karma: +160/-0
    • View Profile
Re: Qt6
« Reply #239 on: December 09, 2022, 09:43:44 am »
I tried loading my testcase in icsdebug..... couldn't view local variables tho... mind you, I'm not very good with the debugger...