[Development] Qt 5.7.0 rc packages for testing

Henry Skoglund fromqt at tungware.se
Sat Jun 4 00:40:02 CEST 2016

Hi, just tested 5.7 RC on Ubuntu, looks good. (Also I see Qt Creator 
4.01's project view has nicer icons.) But I spotted one problem, problem 
for me at least:

When building a vanilla HelloQt widgets test app, I notice that the 
chrpath of the app just points to Qt's installation path, e.g.:

chrpath TestApp
TestApp: RPATH=/home/henry/Qt/5.7/gcc_64/lib

(in Qt 5.5 it was:
TestApp: RPATH=/home/henry/Qt/5.5/gcc_64:/home/henry/Qt/5.5/gcc_64/lib
removing the first RPATH entry in 5.7 makes sense, it is almost never used.)

but in Qt 5.6 it was:
TestApp: RPATH=$ORIGIN:/home/henry/Qt/5.6/gcc_64/lib
and that was *really* nice because then, on a deployment PC without Qt 
installed, you could place the .so files the app needs like 
libQt5Core.so.5 together with the .elf file in the same directory (i.e. 
the same type of deployment that are used on Windows).

But in this 5.7RC it's back to pre-5.6 behavior. To get it to work 
anyway, I usually add to the .pro file (for deployment):

QMAKE_LFLAGS += -Wl,-rpath,"'\$$ORIGIN'"

But this is not so well documented for average developer I think.
So if this lossage of $ORIGIN in RPATH remains in 5.7, I will miss 5.6 :-(

P.S. Also the platform plugin DLL libqxcb.so has reverted to 5.5 
behavior regarding it's RPATH settings, i.e. in Qt 5.5 and 5.7 RC it's

libqxcb.so: RUNPATH=$ORIGIN/../../lib

In Qt 5.6 it was:
libqxcb.so: RUNPATH=$ORIGIN:$ORIGIN/../../lib

Before Qt 5.5 the RPATH settings of the plugin .so files were 
immaterial, but starting with 5.5 they matter for loading the .so files 
needed by libqxcb.so, like libQt5XcbQpa.so.5 and libQt5DBus.so.5.

On a development PC with Qt installed 5.5, 5.6 and 5.7 all work fine 
because the .so files are placed correctly, i.e. $ORIGIN/../../lib 
points correctly.

But on a deployment PC without Qt installed this is a pain point for 5.5 
and 5.7 RC because usually (for a naive developer like me) you place all 
the .so files needed next to the .elf file. And to fix good plugin 
loading in 5.6, you just placed a copy of libQt5XcbQpa.so.5 and 
libQt5DBus.so.5 together with libqxcb.so in the platforms subdirectory 
and all was fine and dandy for deployment.

Of course you emulate the installed Qt's directory structure and create 
a subdirectory called 'lib' one position above where the .elf file is so 
that $ORIGIN/../../lib works, but why can't we continue to get a 
libqxcb.so in 5.7 that has a $ORIGIN as well in its RPATH setting?

Rrgrds Henry

On 2016-06-01 12:02, Jani Heikkinen wrote:
> Hi all,
> We have finally Qt 5.7.0 rc packages for testing:
> Windows: http://download.qt.io/snapshots/qt/5.7/5.7.0-rc/482/
> Linux: http://download.qt.io/snapshots/qt/5.7/5.7.0-rc/442/
> Mac: http://download.qt.io/snapshots/qt/5.7/5.7.0-rc/376/
> src: http://download.qt.io/snapshots/qt/5.7/5.7.0-rc/latest_src/
> Packages are RTA tested & seems to be pretty much Ok. Known issues in
> the packages here: https://bugreports.qt.io/issues/?filter=17719
> We will release these packages as Qt 5.7.0 rc this Friday if nothing
> really serious found during testing. So please inform me immediately if
> there is something badly broken.
> And at this time we are really minimizing changes between rc & final and
> so on we are taking in only fixes for real release blockers. All others
> should be just listed in known issues page
> (https://wiki.qt.io/Qt_5.7.0_Known_Issues) & fixed in '5.7' branch
> instead. Documentation changes and missing change files are exception:
> We will take those in still during this week so please finalize those as
> well really soon, latest this Sunday. We will start creating final
> packages Monday 6th June morning.
> br,
> Jani
> Jani Heikkinen
> ReleaseManager
> The Qt Company
> Elektroniikkatie 13
> 90590 Oulu Finland
> jani.heikkinen at qt.io
> +358 50 4873735
> http://qt.io <http://qt.io/>
> <http://qt.io/>
> <http://www.facebook.com/Qt> 	<http://www.twitter.com/qtproject>
> <https://www.linkedin.com/company/the-qt-company/>
> <https://plus.google.com/104580575722059274792>
> <https://www.youtube.com/QtStudios>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

More information about the Development mailing list