Author Topic: Building Qt5  (Read 38132 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2107
  • Karma: +163/-0
    • View Profile
Re: Building Qt5
« Reply #30 on: November 03, 2022, 09:51:12 am »
Sure, see I used the system pcre and also I only built a release build as previously I had problems building both. Also I have -no-dbus on my configure line.

I think I give up.... I'm still getting this error ever after getting a config.summary almost identical to yours....

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4831
  • Karma: +101/-1
    • View Profile
Re: Building Qt5
« Reply #31 on: November 03, 2022, 03:24:49 pm »
Sure, see I used the system pcre and also I only built a release build as previously I had problems building both. Also I have -no-dbus on my configure line.

I think I give up.... I'm still getting this error ever after getting a config.summary almost identical to yours....

It's weird, I had the problem with not detecting libvpx, which only went away when I moved to a different install. I really can't see why it was failing, the headers are identical and Mozilla built fine using the system libvpx.
Guess you could nuke your Unixroot tree and start over.
I still have to test a debug build and a both build, just reluctant as it takes 12 hours+ and can't do anything else on the machine due to memory shortage.

Mentore

  • Full Member
  • ***
  • Posts: 175
  • Karma: +6/-0
    • View Profile
Re: Building Qt5
« Reply #32 on: November 04, 2022, 09:38:06 am »
Sure, see I used the system pcre and also I only built a release build as previously I had problems building both. Also I have -no-dbus on my configure line.

I think I give up.... I'm still getting this error ever after getting a config.summary almost identical to yours....

It's weird, I had the problem with not detecting libvpx, which only went away when I moved to a different install. I really can't see why it was failing, the headers are identical and Mozilla built fine using the system libvpx.
Guess you could nuke your Unixroot tree and start over.
I still have to test a debug build and a both build, just reluctant as it takes 12 hours+ and can't do anything else on the machine due to memory shortage.

@Dave, @Paul, hope you'll give another try. I'm pretty much absent from the scene due to zero spare time, but still I'm keeping a close eye on what's happening to OS/2. Willing to work again on it ASAP, so I'll check on your progress. Keep up!

Mentore

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2107
  • Karma: +163/-0
    • View Profile
Re: Building Qt5
« Reply #33 on: November 04, 2022, 09:59:12 am »
Sure, see I used the system pcre and also I only built a release build as previously I had problems building both. Also I have -no-dbus on my configure line.

I think I give up.... I'm still getting this error ever after getting a config.summary almost identical to yours....

It's weird, I had the problem with not detecting libvpx, which only went away when I moved to a different install. I really can't see why it was failing, the headers are identical and Mozilla built fine using the system libvpx.
Guess you could nuke your Unixroot tree and start over.
I still have to test a debug build and a both build, just reluctant as it takes 12 hours+ and can't do anything else on the machine due to memory shortage.

I got past the sql-psql error by hacking sqldriver.pro - but then I die with:
Project ERROR: Project has no top-level .qmake.conf file.

<sigh>

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4831
  • Karma: +101/-1
    • View Profile
Re: Building Qt5
« Reply #34 on: November 04, 2022, 05:41:05 pm »
I wonder if our git handles submodules the best. I ended up at one point going through the tree and doing a "git checkout master" in every module, they were all in a detached state. Could always do a "git fsck" in every submodule too. The chromium submodule is hiding a few layers deep.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2107
  • Karma: +163/-0
    • View Profile
Re: Building Qt5
« Reply #35 on: November 04, 2022, 09:28:14 pm »
Hey Dave,
I wonder if our git handles submodules the best. I ended up at one point going through the tree and doing a "git checkout master" in every module, they were all in a detached state. Could always do a "git fsck" in every submodule too. The chromium submodule is hiding a few layers deep.

Interesting..... https://github.com/bitwiseworks/qtbase-os2/blob/master/.qmake.conf absolutely exists, and is absolutley in my x:\dev\qt5\qtbase :( Is this the only copy of .qmake.conf you have in qtbase?
« Last Edit: November 04, 2022, 09:42:04 pm by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2107
  • Karma: +163/-0
    • View Profile
Re: Building Qt5
« Reply #36 on: November 04, 2022, 09:52:20 pm »
I can get past this with:
[u:\dev\qt5\qtbase] copy .qmake.conf src\plugins\bearer\generic\.qmake.conf

But not sure why this is needed....

A few more .pro hacks and qtbase is built. I got some error about dbus not being found but I had configured with -no-dbus - it's like the top level config file isn't being read...
« Last Edit: November 04, 2022, 10:04:08 pm by Paul Smedley »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2107
  • Karma: +163/-0
    • View Profile
Re: Building Qt5
« Reply #37 on: November 06, 2022, 09:36:47 am »
I can get past this with:
[u:\dev\qt5\qtbase] copy .qmake.conf src\plugins\bearer\generic\.qmake.conf

But not sure why this is needed....

A few more .pro hacks and qtbase is built. I got some error about dbus not being found but I had configured with -no-dbus - it's like the top level config file isn't being read...

Interesting... there's *something* missing on my baremetal rpm/yum build environment. I'm building in a VM using my bastardised/bespoke build system and using GCC 12.2.0 and getting much further. I need to try and work out what's different/missing on the baremetal install...

Sigurd Fastenrath

  • Hero Member
  • *****
  • Posts: 577
  • Karma: +27/-0
  • OS/2 Versus Hardware - Maximum Warp!
    • View Profile
Re: Building Qt5
« Reply #38 on: November 06, 2022, 09:45:56 am »
Hi Paul,

while we had our User Meeting in Cologne yesterday, we discussed about the New Browser and your work here as well. We could not figure out: do you do this in colaboration with bitwise? Do you sync your work with them, Silvan, Dimitry, Herwig, are you in contact with them?

The attendents collected 400 Euro yesterday, that will be sent to Bitwise supporting their work.

Thanks for some background information!
« Last Edit: November 06, 2022, 12:18:25 pm by Sigurd Fastenrath »

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2107
  • Karma: +163/-0
    • View Profile
Re: Building Qt5
« Reply #39 on: November 06, 2022, 10:01:03 am »
Hi Sigurd - I have little to no contact with Bitwise - other than occasionally with Dmitry via github.

I'm really just trying to built qt5 out of academic interest - and have been keeping dooble up to date as nobody else has been..

At the moment I have no patches for qt5, so have nothing to contribute, but I did submit a PR for an update to the dooble source code.
« Last Edit: November 06, 2022, 10:13:32 am by Paul Smedley »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4831
  • Karma: +101/-1
    • View Profile
Re: Building Qt5
« Reply #40 on: November 06, 2022, 06:27:40 pm »
Hi Paul, what does git branch say in each install and also git log.
Here, for qtbase, it is on the master branch and the head of git log is,
Code: [Select]
commit ecf56e2f004911b5c15cc68afa3a7ee05ada0d16
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Fri Nov 4 01:58:08 2022 +0300

    Update CHANGELOG for version 5.15.2 OS/2 Beta 2.

commit b037b745dd403030bdd8962016787730829a74e4
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Sun Oct 23 22:58:27 2022 +0300

    platforms/os2: Fix bogus mouse X coordinate translation.

    Due to a bug in OS/2 macros local window coordinates -1, -2 would become
    65565, 65534 etc. breaking e.g. the menubar functionality.

    Closes #122.

commit ae484a2e10b5febee3537b07437ad5da0707655a
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Tue Sep 21 23:32:31 2021 +0300

    Update CHANGELOG for version 5.15.2 OS/2 Beta 1.

commit 95e2fb0a629ea542428398a47129369f70154b99
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Tue Sep 14 00:26:08 2021 +0300

    Disable relocatable qmake binary on OS/2.

    This exposes a number of problems related to not supporting hard links
    (broken qmake prefixes in RPM builds) and install targets with
    INSTALL_ROOT override.

    Closes #132.

commit 359ae76b6c31d2690b6676d5450a2a8894a1de64
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Mon Sep 13 03:30:01 2021 +0300

    mkspecs/os2-g++: Don't force debug_and_release any more.

    For RPM builds we need to disable it completely because the RPM devel
    packages do not provide debug libraries and it simply makes no sense
    to create two Makefile flavors: the debug one will never work.

    Note that this commit also makes configure automatically append
    debug_and_release to CONFIG in qconfig.pri when the feature is
    auto-detected or explicitly enabled. Without this change it would
    have to be forced in order to take effect even when building Qt
   itself (looks like an upstream bug).

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2107
  • Karma: +163/-0
    • View Profile
Re: Building Qt5
« Reply #41 on: November 06, 2022, 10:09:08 pm »
Hey Dave,

Hi Paul, what does git branch say in each install and also git log.
Here, for qtbase, it is on the master branch and the head of git log is,
Code: [Select]
commit ecf56e2f004911b5c15cc68afa3a7ee05ada0d16
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Fri Nov 4 01:58:08 2022 +0300

    Update CHANGELOG for version 5.15.2 OS/2 Beta 2.

commit b037b745dd403030bdd8962016787730829a74e4
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Sun Oct 23 22:58:27 2022 +0300

    platforms/os2: Fix bogus mouse X coordinate translation.

    Due to a bug in OS/2 macros local window coordinates -1, -2 would become
    65565, 65534 etc. breaking e.g. the menubar functionality.

    Closes #122.

commit ae484a2e10b5febee3537b07437ad5da0707655a
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Tue Sep 21 23:32:31 2021 +0300

    Update CHANGELOG for version 5.15.2 OS/2 Beta 1.

commit 95e2fb0a629ea542428398a47129369f70154b99
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Tue Sep 14 00:26:08 2021 +0300

    Disable relocatable qmake binary on OS/2.

    This exposes a number of problems related to not supporting hard links
    (broken qmake prefixes in RPM builds) and install targets with
    INSTALL_ROOT override.

    Closes #132.

commit 359ae76b6c31d2690b6676d5450a2a8894a1de64
Author: Dmitriy Kuminov <coding@dmik.org>
Date:   Mon Sep 13 03:30:01 2021 +0300

    mkspecs/os2-g++: Don't force debug_and_release any more.

    For RPM builds we need to disable it completely because the RPM devel
    packages do not provide debug libraries and it simply makes no sense
    to create two Makefile flavors: the debug one will never work.

    Note that this commit also makes configure automatically append
    debug_and_release to CONFIG in qconfig.pri when the feature is
    auto-detected or explicitly enabled. Without this change it would
    have to be forced in order to take effect even when building Qt
   itself (looks like an upstream bug).

I'm becoming increasing convinced my problem is environment related. The problematic build is a new AOS 5.0.7 install, that has effectively never been used to build anything.

In the 1st instance, I'm trying to build with a vanilla rpm/yum setup - my thoughts are that there is some GNU tool or ENV setting missing.

Now that I know things work on my VM install of AOS with MY build environment, I'll try work out what's missing in the RPM/YUM environment.

At least now I have something working locally in order to compare against!

Cheers,

Paul.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4831
  • Karma: +101/-1
    • View Profile
Re: Building Qt5
« Reply #42 on: November 06, 2022, 11:21:44 pm »
Some of my environment, mostly put there for Mozilla,
Code: [Select]
SET SHELL=sh.exe
SET EMXSHELL=sh.exe
SET CONFIG_SHELL=sh.exe
SET MAKESHELL=sh.exe
SET EXECSHELL=sh.exe
set LANG=en_US
set EMXOMFLD_TYPE=WLINK
set EMXOMFLD_LINKER=wl.exe DISA 121,58
REM w: is my unixroot
set PATH=w:\usr\libexec\bin;%PATH%

Also things like print.com in \OS2 moved out of the way



Igor

  • Jr. Member
  • **
  • Posts: 99
  • Karma: +12/-0
    • View Profile
Re: Building Qt5
« Reply #43 on: November 22, 2022, 03:57:00 pm »
Dear builders Qt5 please turn off the AVX (and AVX2) code. Due to its presence, the browser does not display the pages. And it is impossible to use libraries. I don’t understand why this code is included if it does not work on OS/2 correctly?

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4831
  • Karma: +101/-1
    • View Profile
Re: Building Qt5
« Reply #44 on: November 22, 2022, 06:12:28 pm »
Dear builders Qt5 please turn off the AVX (and AVX2) code. Due to its presence, the browser does not display the pages. And it is impossible to use libraries. I don’t understand why this code is included if it does not work on OS/2 correctly?

Hi Igor, the code does work correctly on OS/2, namely the kernel claims no AVX support so the instructions aren't used.
I take it you are using the OS/4 kernel and running into the issue that our GCC can't correctly align the AVX instructions. It is easy enough to turn them off by passing configure the arguments,
Code: [Select]
-no-avx -no-avx2 -no-avx512
if I read the output from configure --help correctly.
What you need to do is open an issue at Bitwise's Github QT4 project requesting they do it. I'd guess as it is so easy to do they will respond positively.
You should also mention it in the QT6 thread so Paul can add the above configure arguments.
Problem is building the whole QT5 stack is slow and memory intensive so how quick it will happen? I might try rebuilding the QT5 stack if I get the chance, it takes about 12 hours here and I can't do much while building otherwise I run out of memory.