[Interest] link error (and probably a dumb question)

Thiago Macieira thiago.macieira at intel.com
Thu Sep 17 05:00:34 CEST 2015


On Wednesday 16 September 2015 21:51:20 René J. V. Bertin wrote:
> Thiago Macieira wrote:
> > This means your -lQt5Core found an older (< 5.4) version of QtCore.
> 
> Yes, and the question is where the -L/usr/lib/x86_64-linux-gnu argument is
> added to the LDFLAGS, or rather, how I can prevent that from happening ...
> Probably not a trivial step as it clearly doesn't appear in all link
> commands. (It occurs in the link command for the sqlite3 plugin, for an xcb
> library, and then only for the pulseaudio plugin from qtmultimedia.)

Find out which variable(s) contains that in mkspecs/*.pri.

My guess is you're going to find it on variable QT_LIBS_GLIB and the other 
glib-based libraries. If that is it, please check whether the following 
command also produces -L/usr/lib/x86_64-linux-gnu:

	pkg-config --libs glib-2.0

If it does, please file a bug against your distribution's pkg-config. It's 
broken. It should never list the -L for default library search paths.

Meanwhile, my suggestion is the same as it has always been: don't try to build 
stuff whose development files are present in the library and include default 
search paths. That is, remove the package that installed /usr/lib/x86_64-
linux-gnu/libQt5Core.so.

Note I said libQt5Core.so, not libQt5Core.so.5; I said "whose development files 
are present". I am not talking about an installation for use. I am talking 
only about development files. Get rid of them.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Interest mailing list