[Qt-creator] QtC Runtime issue with 2 Qt version installed

Christian Gagneraud chgans at gmail.com
Mon Aug 6 05:21:07 CEST 2018


Hi there,

I build Qt and QtC-4.7 myself, the first version of Qt (5.6) is on the
loader path (using ld.so.conf) and is part of my dev environement, the
second version of Qt (5.9) is installed beside QtC and is not on the
loader path (QtC 4.7 requires Qt>=5.9).

I originally had LD_LIBRARY_PATH pointing to Qt-5.6, but then QtC
refused to start because libqxcb.so (Qt 5.9) was picking up it's
dependencies from Qt-5.6.
I use Qt plugin loading debug and ldd, both pointed me to the same direction.
I then realised that using ld.so.conf worked around the problem for
Qt's own plugins, but i still have this problem with QtC's
libexec/clangbackend, the loader resolves it's dependencies to the
"other" Qt install (5.6, on the loader path).

If i'm not wrong, when i build Qt LD_LIBRARY_PATH is set and point to
Qt-5.6, but i use Qt-5.9's qmake to configure QtC.

Is there a way to force all these binaries to only rely on a reliable
rpath, where Qt-5.9 will have proiority?

Here is what I have (Qt-5.6 is installed in /opt/navico-sdk, Qt-5.9
and QtC are installed in /opt/navico-sdk/ide):

$ patchelf --print-rpath /opt/navico-sdk/ide/bin/qtcreator
$ORIGIN:$ORIGIN/..:$ORIGIN/../lib/qtcreator:/opt/navico-sdk/ide/lib
$ patchelf --print-rpath /opt/navico-sdk/ide/libexec/qtcreator/clangbackend
$ORIGIN/../../lib/qtcreator:$ORIGIN/../../lib/qtcreator/plugins:$ORIGIN:$ORIGIN/..:$ORIGIN/../lib/qtcreator:/opt/navico-sdk/lib:/opt/navico-sdk/ide/lib

QtCreator has no loader path issues, but clangbackend has.
That's weird.

I would like to find a proper solution before starting to do `patchelf
--set-rpath`... That would be cleaner IMHO. :)

Any point out?

Chris



More information about the Qt-creator mailing list