Author Topic: Qt6 Development  (Read 365771 times)

Lars

  • Hero Member
  • *****
  • Posts: 1367
  • Karma: +70/-0
    • View Profile
Re: Qt6 Development
« Reply #750 on: July 24, 2023, 03:08:57 pm »
I have the feeling that that additional socket option creates a local socket name that is not valid under OS/2.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5089
  • Karma: +117/-1
    • View Profile
Re: Qt6 Development
« Reply #751 on: July 24, 2023, 04:53:45 pm »
Thanks Paul! It works well for the most part, but like Dave points out, the --attach function is not working.

 Dave- if you remove that patch, does --attach work again? Maybe just a Linux vs. OS/2 difference...

Regards,

Yes, reading up on it a bit more, https://doc.qt.io/qt-5/qlocalserver.html, https://stackoverflow.com/questions/35813093/creating-a-local-socket-in-a-custom-location-with-qt
It does seem to create a socket with limited permissions, likely by binding to an inode and as Lars said, our stack doesn't support that. I note that Windows uses a named pipe in this case, which may be ideal for OS/2 as well.
This patch is perhaps the simplest without knowing how to get qmake to detect the lack of this function.
Code: [Select]
diff --git a/Source/dooble.cc b/Source/dooble.cc
index 39ac8c4e..351b0903 100644
--- a/Source/dooble.cc
+++ b/Source/dooble.cc
@@ -1371,7 +1371,11 @@ void dooble::prepare_local_server(void)
            "dooble_local_server");

   QLocalServer::removeServer(name);
+#ifndef __OS2__
   m_local_server.setSocketOptions(QLocalServer::UserAccessOption);
+#else
+  m_local_server.setSocketOptions(QLocalServer::NoOptions);
+#endif
   m_local_server.listen(name); // After setSocketOptions().
 }

Still need to figure out why my git tree's are broken

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2285
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #752 on: October 01, 2023, 12:55:16 am »
Hey All,

After a bit of a break from OS/2 related stuff (I got a new car; switched electricity provider to one who provided wholesale pricing,  which then necessitated me writing some code to integrate their API into OpenHAB; and other random life factors which causes me to not really do anything OS/2 related for a couple of months,  with the exception of raising a PR to get ninja working in bww cmake).

Anyhow,  the release of Qt 6.5.3 triggered me to update the code in my github repositories, and I'm back to trying to get the webengine building. All modules other than the webengine are built  (but not tested).

Things I know about:
- the issues with QtDeclarative 'Quick' examples remain - I sorta understand why they fail, but need to spend some quality time thinking on how to resolve
- bww cmake  (even with the latest patch) doesn't support TARGET_SHORT with Ninja (need to check it works  with unix make files). Unfortunately,  my own cmake github is a mess, and I wasn't very good at checking in the specific patches that got ninja working correctly, so I'm still trying to identify the specific missing patch
- nodejs  issues  with QtWebEngine 6.5.x  - which are now basically the same as dmik  is seeing in https://github.com/bitwiseworks/node-os2/issues/1#issuecomment-1620655368

More when there is something more to talk about....

David McKenna

  • Hero Member
  • *****
  • Posts: 813
  • Karma: +25/-0
    • View Profile
Re: Qt6 Development
« Reply #753 on: October 01, 2023, 01:38:56 pm »
 Hey Paul,

  Hope everything worked out during your OS/2 hiatus. Looking forward to testing new builds of QT6 as they appear.

Regards,

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2285
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #754 on: October 03, 2023, 10:05:17 am »
Confirming thqt qtwebengine 6.5.3 build fails with a very similar failed assertion error to that in https://github.com/bitwiseworks/node-os2/issues/1#issuecomment-1620655368

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2285
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #755 on: November 07, 2023, 09:54:20 am »
I'm giving up (for now)  on QT 6.5 webengine.

I've updated the main branch  in github which is the 6.2.x code,  which was last  built against the 6.2.4 source. I've now updated this source to the 6.2.6 opensource code  (Qt 6.2 is a Long Term Support releast, however after the 6.2.4 release, the code was only available for Commercial customers for 12months).

I've built it all bar the webengine, which is building now.  The webengine looks to be based on the same chromium code as 6.3.2 -  but the thought it to try and get a stable-ish release  based on 6.2.x.

Mentore

  • Full Member
  • ***
  • Posts: 224
  • Karma: +11/-0
    • View Profile
Re: Qt6 Development
« Reply #756 on: November 08, 2023, 08:26:26 am »
I'm giving up (for now)  on QT 6.5 webengine.

I've updated the main branch  in github which is the 6.2.x code,  which was last  built against the 6.2.4 source. I've now updated this source to the 6.2.6 opensource code  (Qt 6.2 is a Long Term Support releast, however after the 6.2.4 release, the code was only available for Commercial customers for 12months).

Methinks this is a good idea.

Quote
I've built it all bar the webengine, which is building now.  The webengine looks to be based on the same chromium code as 6.3.2 -  but the thought it to try and get a stable-ish release  based on 6.2.x.

Fingers crossed, Paul. Let's see what you can get.
I'm slowly creating an ArcaOS VM and installing things I feel useful - will come to that ASAP and give your Qt port a try.
Mentore

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2285
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #757 on: November 12, 2023, 03:26:34 am »
ok... trying to work out why even though system libraries like libvpx are detected, the bunded versions are compiled in. Finally found a clue.... linux has the following https://github.com/psmedley/qt6-webengine-os2/tree/main/src/3rdparty/chromium/build/linux/unbundle - how to work out how to include something similar on OS/2....

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5089
  • Karma: +117/-1
    • View Profile
Re: Qt6 Development
« Reply #758 on: November 12, 2023, 04:10:34 am »
Most seem to just check for headers, so I'd expect them to just work. Others, not sure of.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2285
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #759 on: December 29, 2023, 08:47:10 am »
Well I finally got qtcreator building again - it now has fixes  to eliminate duplicate DLL names so it can build out of the box.

However, due to issues with waitForStarted() - ie https://github.com/psmedley/qt6-base-os2/blob/main/src/corelib/io/qprocess_os2.cpp#L1279 it thinks that executables haven't run  so reports an error.

<sigh> it would be nice if someone more knowledgeable could suggest what might need to be changed.

A few clues in the attached....
« Last Edit: December 29, 2023, 09:30:01 am by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2285
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #760 on: December 29, 2023, 09:36:38 am »
OK turns out that was an issue in qtcreator....

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2285
  • Karma: +176/-0
    • View Profile
Re: Qt6 Development
« Reply #761 on: May 19, 2024, 11:23:59 am »
Wow.... it's been a while....

I haven't touched anything OS/2 related for a month or so. Life and other things have gotten in the way.

https://smedley.id.au/tmp/qt6-6.2.8-os2-20240519.zip

The webengine is still the 6.2.6  code, but the other modules are at the 6.2.8  level...

Don't expect any miraculous fixes to stability of the browser............

However, as time permits, I'll continue to investigate issues. I also need to try and fix the issues with 'net RPC user' and samba server...
« Last Edit: May 19, 2024, 01:00:20 pm by Paul Smedley »

David McKenna

  • Hero Member
  • *****
  • Posts: 813
  • Karma: +25/-0
    • View Profile
Re: Qt6 Development
« Reply #762 on: May 19, 2024, 01:48:19 pm »
Hi Paul,

  It HAS been awhile... hope all is well! I am running your last QT6 version of Dooble (could you build the latest?) with this new build of QT6.2 and it seems to work as well as the last. Looking forward to the webengine part too. I'll test the examples in the next couple of days... thanks!

Regards,

David McKenna

  • Hero Member
  • *****
  • Posts: 813
  • Karma: +25/-0
    • View Profile
Re: Qt6 Development
« Reply #763 on: May 19, 2024, 04:55:02 pm »
Paul,

 I've tried all of the files in the \examples folders, here is what I found:

 In the \dbus, \multimedia, and \multimediawidgets folders nothing works. Stuff in the \multimedia folders says this platform is not supported. Stuff in the \dbus folders says to start the dbus. I have dbus installed, but don't know what to do to actually start it - any hints?

 \designer\worldclockbuilder doesn't work - gives an error.

 \help\contextsensitivehelp - works, but blank and SQL error in console

 \quick - all work, but any with sub-folders need the 'shared' folder moved into the same folder as the executable. Then the 'qmldir' file there needs the 'optional plugin xxx' line added with the name of the DLL there. Once that is done they all work, but some (mostly in \particles, \scenegraph, and \shapes directories) have display elements missing and console shows libpng warnings. Does QT6 use the system libpng?

 \widgets\desktop - system tray doesn't work and can't take a screen shot.

 One thing I noticed in the '\QML\QT5Compat\GraphicalEffects' folder - the qmldir file does not have an 'optional plugins xxx' line with the dll name. That dll name is also the same as the one in the 'private' subfolder, where the qmldir file there also has no 'optional plugins xxx' line. I added them and renamed the dll in the 'private' directory. Haven't come accross any other DLL name conflicts yet.

 Another small issue - some examples that work give a POPUPLOG on exit. Mostly in the \Charts\QMLCharts directory but a few others too. They all look very similar - I'll upload the POPUPLOG.

 That's it - as far as I can tell everything else works. This is the best QT6 version yet - much better than the last one! Thanks again! Can't wait for a new webengine...

Regards,

 
« Last Edit: May 19, 2024, 04:57:21 pm by David McKenna »

Andy Willis

  • Sr. Member
  • ****
  • Posts: 307
  • Karma: +7/-0
    • View Profile
Re: Qt6 Development
« Reply #764 on: May 19, 2024, 07:38:15 pm »
Hi Paul,

  It HAS been awhile... hope all is well! I am running your last QT6 version of Dooble (could you build the latest?) with this new build of QT6.2 and it seems to work as well as the last. Looking forward to the webengine part too. I'll test the examples in the next couple of days... thanks!

Regards,
When I try to run dooble, I get an error that QT6WIDGS cannot be found.  Did I get a bad unzip or did you use one from an earlier release?