Author Topic: Qt6 Development  (Read 178753 times)

Lars

  • Hero Member
  • *****
  • Posts: 1262
  • Karma: +65/-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: 4756
  • Karma: +97/-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: 2088
  • Karma: +159/-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: 739
  • Karma: +24/-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: 2088
  • Karma: +159/-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: 2088
  • Karma: +159/-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: 149
  • Karma: +4/-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: 2088
  • Karma: +159/-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: 4756
  • Karma: +97/-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: 2088
  • Karma: +159/-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: 2088
  • Karma: +159/-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....