Discussion:
[Flightgear-devel] QT Coree dll 5.6.1 vs. 5.6.2
Ron H
2017-07-09 20:42:14 UTC
Permalink
I have had to download QT again and find that the 5.6 version is 5.6.2 not 5.6.1 as in the windows-nightly and 2013.2.x version of flightgear.


Just an FYI that you may need to update to 5.6.2. It compiles and works as far as a simple test is concerned.


I say this because I was setting up my own compiled version and used 5.6.2 and got an error in the log about mixing version 050602 and 050601



Ron
James Turner
2017-07-16 17:30:31 UTC
Permalink
> On 9 Jul 2017, at 22:42, Ron H <***@hotmail.com> wrote:
>
> I have had to download QT again and find that the 5.6 version is 5.6.2 not 5.6.1 as in the windows-nightly and 2013.2.x version of flightgear.
>
> Just an FYI that you may need to update to 5.6.2. It compiles and works as far as a simple test is concerned.
>
> I say this because I was setting up my own compiled version and used 5.6.2 and got an error in the log about mixing version 050602 and 050601
>

Ron, apologies, just catching up on emails after my holiday. Can you explain in (a lot!) more detail what you were doing to encounter this error? I ask because patch level version of Qt should be compatible. I’m curious if you are mixing an official release from Jenkins with your own built files, and if so, why, and how?

Kind regards,
James
Ron H
2017-07-16 20:37:56 UTC
Permalink
James,


np we all need a vacation. What I did was download QT because I wanted 5.6 and 5.7. The installer downloaded 5.6.2. I compiled against this download. I copied my compiled files to a FG folder to run and test. However I cheated and copied the QT files from the windows nightly build that I also downloaded. FG-Windows Nightly has 5.6.1 and I compiled against my QT download of 5.6.2 It kept crashing. The FG log file told me not to mix QT5.6.1 with 5.6.2. So this is my fault, and just wanted to warn people if you do specifically download the offline installer of 5.6 from the QT archive, you will get 5.6.2.


As an aside I did all this because I am also playing with OSG 3.5.x and it is not playing nice with QT.


First OSG 3.5.x - you lose access to the _linenumbers property, along with _coords in the CavasText module. (along with kerning that was "fixed" in a build previously)

Second, the new QT functionality added in June, QT/OSG 3.5.x needs a change if FG. All this is just me playing around. I have it compiling OSG 3.5.x and QT, however it crashes now - it used to work. QT 5.7 or 5.8 don't compile.


I have no expectations of anyone fixing this, just my own experimentation, and if anyone benefits from my findings, great. If not carry on.


diff --git a/src/Viewer/GraphicsWindowQt5.cpp b/src/Viewer/GraphicsWindowQt5.cpp
index 6b10ff7d1..ce97f5f64 100644
--- a/src/Viewer/GraphicsWindowQt5.cpp
+++ b/src/Viewer/GraphicsWindowQt5.cpp
@@ -899,7 +899,11 @@ namespace flightgear

void initQtWindowingSystem()
{
+#if OSG_VERSION_LESS_THAN(3,5,2)
osg::GraphicsContext::setWindowingSystemInterface(Qt5WindowingSystem::getInterface());
+#else
+osg::GraphicsContext::getWindowingSystemInterfaces()->addWindowingSystemInterface(Qt5WindowingSystem::getInterface());
+#endif
}

} // of namespace flightgear




Ron


Windows 10, VS2015

________________________________

Sent: July 16, 2017 1:30 PM
To: FlightGear developers discussions
Subject: Re: [Flightgear-devel] QT Coree dll 5.6.1 vs. 5.6.2


On 9 Jul 2017, at 22:42, Ron H <***@hotmail.com<mailto:***@hotmail.com>> wrote:

I have had to download QT again and find that the 5.6 version is 5.6.2 not 5.6.1 as in the windows-nightly and 2013.2.x version of flightgear.

Just an FYI that you may need to update to 5.6.2. It compiles and works as far as a simple test is concerned.

I say this because I was setting up my own compiled version and used 5.6.2 and got an error in the log about mixing version 050602 and 050601


Ron, apologies, just catching up on emails after my holiday. Can you explain in (a lot!) more detail what you were doing to encounter this error? I ask because patch level version of Qt should be compatible. I’m curious if you are mixing an official release from Jenkins with your own built files, and if so, why, and how?

Kind regards,
James
James Turner
2017-07-17 16:40:13 UTC
Permalink
> On 16 Jul 2017, at 21:37, Ron H <***@hotmail.com> wrote:
>
> np we all need a vacation. What I did was download QT because I wanted 5.6 and 5.7. The installer downloaded 5.6.2. I compiled against this download. I copied my compiled files to a FG folder to run and test. However I cheated and copied the QT files from the windows nightly build that I also downloaded. FG-Windows Nightly has 5.6.1 and I compiled against my QT download of 5.6.2 It kept crashing. The FG log file told me not to mix QT5.6.1 with 5.6.2. So this is my fault, and just wanted to warn people if you do specifically download the offline installer of 5.6 from the QT archive, you will get 5.6.2.

Was it really in the log file? This does not fit my expectations of Qt’s binary compatibility guarantee. Normally we care about forwards compatibility (code built against 5.n.m should be binary compatible with any larger values), so maybe we do check for lower values and refuse to run. But I’m confused which plugins / DLLs you copied. For example I am sure we would refuse to run if you mix the platform plugin and QtCore/QtGui DLL versions.

> As an aside I did all this because I am also playing with OSG 3.5.x and it is not playing nice with QT.
>
> First OSG 3.5.x - you lose access to the _linenumbers property, along with _coords in the CavasText module. (along with kerning that was "fixed" in a build previously)

This isn’t related to Qt, is it? But rather the Canvas? In any case we will need to find a soluton

> Second, the new QT functionality added in June, QT/OSG 3.5.x needs a change if FG. All this is just me playing around. I have it compiling OSG 3.5.x and QT, however it crashes now - it used to work. QT 5.7 or 5.8 don't compile.
>
> I have no expectations of anyone fixing this, just my own experimentation, and if anyone benefits from my findings, great. If not carry on.
>
> diff --git a/src/Viewer/GraphicsWindowQt5.cpp b/src/Viewer/GraphicsWindowQt5.cpp
> index 6b10ff7d1..ce97f5f64 100644
> --- a/src/Viewer/GraphicsWindowQt5.cpp
> +++ b/src/Viewer/GraphicsWindowQt5.cpp
> @@ -899,7 +899,11 @@ namespace flightgear
>
> void initQtWindowingSystem()
> {
> +#if OSG_VERSION_LESS_THAN(3,5,2)
> osg::GraphicsContext::setWindowingSystemInterface(Qt5WindowingSystem::getInterface());
> +#else
> +osg::GraphicsContext::getWindowingSystemInterfaces()->addWindowingSystemInterface(Qt5WindowingSystem::getInterface());
> +#endif
> }
>
> } // of namespace flightgear
>

I would like to keep source compat with recent OSG versions, so happy to merge this change, and any others you have, if you are okay with that.

Kind regards,
James
Loading...