Opened 10 years ago

Closed 10 years ago

#172 closed task (fixed)

Update to Qt 4.6.3

Reported by: Silvan Scherrer Owned by:
Priority: blocker Milestone: Qt 4.6.3
Component: General Version: 4.6.2
Severity: low Keywords:

Description (last modified by Dmitry A. Kuminov)

Update the Qt code base to the upstream version to 4.6.3 from Nokia.

Change History (21)

comment:1 Changed 10 years ago by Dmitry A. Kuminov

Description: modified (diff)
Priority: majorblocker
Summary: QT 4.6.3Update to Qt 4.6.3

Just found another bug in WarpIn? 1.0.19. References to the value of the TARGET attribute in another PCK tag in the form of "$(N)" (where N is the number of the referred package) are not updated if you change the original value they refer to. In case of Qt4 WPIs this means that if one attempts to change the path of the "Installation Utilities" package in qt-lib-4_6_2.wpi to something else instead of the default value, paths to all other packages referring to it (plugins, translations, etc) will NOT be updated (and there is no way to change then as they are FIXED by design). As a result, the user will get a seriously broken Qt 4 installation (in particular, no plugins can be found and all the fancy stuff it leads to).

Unfortunately I cannot report a WarpIn? bug at since I forgot my password and there is no visible interface to recall it.

Anyway, as I doubt that the problem will be fixed soon even if I report it, we will have to find some acceptable workaround in the Qt 4.6.3 release.

comment:2 Changed 10 years ago by Dmitry A. Kuminov

Milestone: Qt EnhancedQt 4.6.3

comment:3 Changed 10 years ago by rudi

I contacted the maintainer of the Arora web browser and asked him to include some OS/2- specific patches (mainly the *.pro/*.pri files and an application icon). He accepted those and asked if he could put a note, a screen shot and a link on his blog. I replied that it's probably better to wait until we have fixed our Qt to a level that the browser becomes really usable (i.e. 4.6.3 is out).

comment:4 Changed 10 years ago by Dmitry A. Kuminov

Merged in Qt 4.6.3 sources. Check-building it now.

comment:5 Changed 10 years ago by Dmitry A. Kuminov

The basics are built fine. I will also check the new demos and examples.

Everyone is encouraged to test the new build from SVN with their apps.

comment:6 Changed 10 years ago by Dmitry A. Kuminov

Fixed a crash and recursion when doing widget re-parenting in DIVE (see r775). Note that it is not related to the 4.6.3 upgrade at all, I just happened to find it out right after updating (as it usually happens).

comment:7 Changed 10 years ago by rudi

Is Assistant working for you ? Here it goes into a 100% CPU load loop before showing any traces of a window.

comment:8 Changed 10 years ago by rudi

Assistant does work now. The problem was probably caused by old *.INI entries from the 4.6.2 installation also present on this machine. I have the feeling, that Assistant is pretty picky about that, because I have seen strange behavior when running it for the first time after a Qt version update before.

comment:9 Changed 10 years ago by Dmitry A. Kuminov

I'm observing the same behavior here but removing the *.INI files doesn't help a lot: QAssistant shows up immediately but it keeps re-indexing (which is accompanied by the 100% CPU load and system unresponsiveness) forever. I will have to investigate that.

comment:10 Changed 10 years ago by rudi

I take back my statement: Assistant is not working here showing the same symptoms as on your system.

comment:11 Changed 10 years ago by Dmitry A. Kuminov

I found the reason for the QAssistant hang: it's ::close() called on a socket for which ::listen() is called earlier. Investigating further.

comment:12 Changed 10 years ago by Dmitry A. Kuminov

It seems that ::close() (=> ::soclose() for sockets) hangs forever if the given socket is being currently ::select()ed. Disabling the socket notifier prior to closing it fixes the problem. r795. Rudi, please test Assistant once again.

We're basically ready for the release. Since we decided to do a RPM-only release so far, I will move to that task (will try to create an RPM for Qt and assist Yuri in creating the RPM bootstrap package).

comment:13 Changed 10 years ago by Silvan Scherrer

i can at least start assistant w/o problems. so i guess it's fixed

comment:14 Changed 10 years ago by rudi

My old build machine broke down. I've just started a full rebuild on another one. I'll report back when finished...

Two minor notes:

  • README.OS2 does still mention the lack of SSL support as a restriction.
  • Why do we have the (Windows) CONFIGURE.EXE and the (Unix) configure script in our package ?

What do you think about #175 ? I'm not 100% sure if we should really go through the hassle of detection the version of eCS, but a simple version detection via DosQuerySysInfo? would be very easy. I already did it, but it's on the broken machine...

Question: What do we need an RPM package for ?

BTW, great job ! I'm deeply impressed, how quick you fixed the problems !

comment:15 Changed 10 years ago by rudi

Oh, forgot: Any comments on #144 ?

comment:16 Changed 10 years ago by Dmitry A. Kuminov

Rudi, thank you for your feedback and for the patches. You are welcome.

README.OS2 and CHANGELOG.OS2 are usually updated right in the last revision before the release, so it will be done soon.

The configure stuff is included in the official Qt source bundle (which is all-platform since 4.x) so I just do the same for OS/2.

RPM is much more versatile than WarpIn? which has many limitations that already hurt our complex product a lot
(in particular, the complete lack of the package upgrade concept and the cumbersome dependency resolving mechanism). The plan is to drop WarpIn? support at all in 4.6.3 so that users have to start migrating to RPM. Of course, we will make it as easy as possible and that's what we (mostly Yuri) are working on ATM. See for more info.

Re #175, I will try to do #66 and then it for this release, it should be simple.

Re #144, please see the comments in there.

comment:17 Changed 10 years ago by rudi

O.K, first I can confirm that Assistant is working again for me as well.

As for #66: qglobal.cpp fails to compile here due to the lack of some OS/2 headers. I added:

#if defined(Q_OS_OS2)
#inlcude "qt_os2.h"

About RPM: I'm not so sure that average users will see it as an enhancement. There is no daubt that it is much more powerful than WarpIn?, but users see a relatively small and fancy GUI installer beeing replaced by a command line monster that only experts can handle. Many will consider that as a step backwards as long as we don't provide a graphical interface as simple and "sexy" as WarpIn?.

comment:18 Changed 10 years ago by Dmitry A. Kuminov

Re qglobal.cpp, how come does it fail on your side? Here, qt_os2.h gets always included implicitly using this chain:

qglobal.cpp#52 -> qthread_p.h#70 > qt_os2.h

Anyway, I added explicit inclusion in r800 because relying on such implicit things is wrong. I just wonder why your machine doesn't get it.

RPM: let's move our discussion to #181 please.

comment:19 Changed 10 years ago by rudi

I just wonder why your machine doesn't get it.

When building bootstrap.lib, QT_NO_OBJECT is defined which prevents qthread_p.h from being included in qglobal.cpp, line 52.

comment:20 Changed 10 years ago by Dmitry A. Kuminov

Okay, guessed that. I cheated (as usual) and didn't rebuild everything (to save time).

comment:21 Changed 10 years ago by Dmitry A. Kuminov

Resolution: fixed
Status: newclosed

Qt 4.6.3 is out.

Note that the issue mentioned in comment:1 has been resolved. You will notice how when you attempt to install the "lib" and "dev" WPI: the "Installation Utilities" path in "lib" is fixed now and you may change the "Libraries, Headers and Tools" path in "dev".

Note: See TracTickets for help on using tickets.