Author Topic: Qt6 Development  (Read 210889 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #210 on: December 06, 2022, 08:22:43 am »
That's weird... I just don't see the code that enables audit.... I see why QtMultimedia fails with typing sounds:

Reference https://github.com/psmedley/qt6-multimedia-os2/blob/main/src/multimedia/platform/qplatformmediaintegration.cpp#L72 as we don't detect any of the supported backends, no audio is supported....

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #211 on: December 06, 2022, 08:30:41 am »
btw I posted about the menu problem at the Qt development mailing list... https://lists.qt-project.org/pipermail/development/2022-December/043388.html

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4787
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #212 on: December 06, 2022, 05:29:15 pm »
Getting back to thinking about the crash in focuswriter when typing sounds are enabled - do sounds work at all in Qt5? I can't for the life of me see any code that enables this....

They work in Dooble, playing the local radio station.

Seems to only be implemented in the webengine right now, namely "qt5/qtwebengine/src/3rdparty/chromium/media/audio/os2"

Gregg Young

  • Jr. Member
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Qt6
« Reply #213 on: December 06, 2022, 07:44:25 pm »
Hi

Sorry to be late to the party but I've been traveling. I installed the latest QT6 drop and installed Tea. I see that the drop down boxes don't work. They show the list of choices but you can't select any of them. Using the arrow keys or scroll wheel allows you to change the selection except for the drive letter. I found that by typing the drive letter in I could change drives and I can successfully change to the boot drive. I see this error message which may be related.
update_keyboards()
"D:/Home/Default/tea/keyboards"
qt.core.qobject.connect: QObject::connect: No such signal QComboBox::currentIndexChanged (QString)


I also see the high left menu corruption. Several of the edit boxes are too short for even a single line of text and they don't seem to be resizable.

I think -lcx not being added is a defect and think that 
SET(CMAKE_C_STANDARD_LIBRARIES_INIT "-lcx")
should be added to os2.cmake

I will give some additional apps a try and try building QT6.

Thanks

Gregg
« Last Edit: December 06, 2022, 07:52:26 pm by Gregg Young »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #214 on: December 06, 2022, 09:14:10 pm »
Hi Gregg - in my local os2.cmake - I have -lcx added to CMAKE_SHARED_LINKER_FLAGS_INIT; CMAKE_MODUE_LINKER_FLAGS_INIT & CMAKE_EXE_LINKER_FLAGS_INIT

When porting apps - you'll probably end up with thinks like QT6::WIDGETS-NOTFOUND in the generated build.make files - I need to work out why this is the case - possibly as the import libs have are qt6widgets_dll.a not qt6widgets.a - need to investigate...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #215 on: December 06, 2022, 11:45:04 pm »
https://smedley.id.au/tmp/qt6-6.2.4-os2-20221207.zip now includes (untested) examples in the examples folder

These are bound to show bugs :)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #216 on: December 07, 2022, 01:41:53 am »
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)
« Last Edit: December 07, 2022, 01:53:51 am by Ian Manners »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #217 on: December 07, 2022, 02:37:38 am »
Getting back to thinking about the crash in focuswriter when typing sounds are enabled - do sounds work at all in Qt5? I can't for the life of me see any code that enables this....

They work in Dooble, playing the local radio station.

Seems to only be implemented in the webengine right now, namely "qt5/qtwebengine/src/3rdparty/chromium/media/audio/os2"

Thanks! For ease of reference - https://github.com/bitwiseworks/qtwebengine-chromium-os2/tree/38fcc8b007408de5f3b9c711c42b31b82a6349c0/chromium/media/audio/os2

I wonder if this can be adapted to add an os2 backend to qtmultimedia - ie at https://github.com/psmedley/qt6-multimedia-os2/tree/main/src/multimedia/platform

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #218 on: December 07, 2022, 08:15:51 am »
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"

Head scratching.... I built corelib with the unix Qprocess code - a DLL is at https://smedley.id.au/tmp/qt6core-20221207.zip

I don't get the socket error message; but I still get the 30 second delay then "The qmake executable .... could not be added. Cannot start ...."

The error is coming from https://github.com/psmedley/qt-creator-os2/blob/main/src/plugins/qtsupport/baseqtversion.cpp#L1807 but best I can tell, the executable isn't even getting called....
« Last Edit: December 07, 2022, 08:28:49 am by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #219 on: December 07, 2022, 09:24:28 pm »
Trying to get the test suite building.... might help identify where the problems are in qprocess (and elsewhere)

Also found a possible way forward for nodejs - https://chromium.googlesource.com/v8/node-ci - building it with an alternative build tool which is already used by chromium
« Last Edit: December 07, 2022, 09:46:59 pm by Paul Smedley »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4787
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #220 on: December 07, 2022, 10:44:09 pm »
gn seems to work standalone.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Qt6
« Reply #221 on: December 08, 2022, 09:09:44 am »
gn seems to work standalone.

Do you have an autoninja too?

Gregg Young

  • Jr. Member
  • **
  • Posts: 72
  • Karma: +0/-0
    • View Profile
Re: Qt6
« Reply #222 on: December 08, 2022, 05:00:37 pm »

Do you have an autoninja too?

Hi Paul

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.
« Last Edit: December 08, 2022, 05:14:22 pm by Gregg Young »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4787
  • Karma: +99/-1
    • View Profile
Re: Qt6
« Reply #223 on: December 08, 2022, 05:02:13 pm »
gn seems to work standalone.

Do you have an autoninja too?

No, just ninja.exe and ninja.bootstrap.exe with both looking like the same bibary, same size and date and time.
Possibly it is just renamed ninja.exe or things have changed since our old version of chromium. Might have to build an older version on node.js to match our old version, 8x.x IIRC.
Attached ninja

TeLLie

  • Full Member
  • ***
  • Posts: 226
  • Karma: +11/-0
    • View Profile
Re: Qt6
« Reply #224 on: December 08, 2022, 06:32:26 pm »

Do you have an autoninja too?

Hi Paul

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?

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 am also working on adding the ability to open links and files where opening a different (child) app is required.