[Qt-creator] Linker probably picks up wrong LLVM libraries when linking Qt Creator 4.9
Andrzej Telszewski
atelszewski at gmail.com
Sun Jul 28 13:33:09 CEST 2019
On 01/06/2019 13:28, Andrzej Telszewski wrote:
> On 28/05/2019 09:23, Eike Ziller wrote:
>>
>>
>>> On 28. May 2019, at 07:38, Andrzej Telszewski <atelszewski at gmail.com>
>>> wrote:
>>>
>>> where:
>>> -L/usr/lib64
>>>
>>> is put before:
>>> -Wl,-rpath,/usr/libexec/qtcreator/clang/lib
>>>
>>> ?
>>>
>>> Uninstalling this system-wide version of LLVM for the time of
>>> building Qt Creator allows it to compile and link just fine.
>>>
>>> Please advice.
>>> Patches welcome :-)
>>>
>>> Thanks in advance!
>>
>> Your diagnosis sounds correct, so the question is where that -L path
>> comes from. My guess that it’s from the mkspecs, but maybe running
>> qmake with additional -d -d -d gives something useful?
>>
>> Br, Eike
>>
>
> Hi,
>
> I tried running qmake with -d -d -d and the output is enormous.
> My brain was not capable of parsing the text. Need to use a different
> parser ;-)
>
> Anyway, I ended up in: _src/plugins/clangformat/Makefile_
>
> For the clarity of this conversation, I attach a patch showing what has
> to be done in order to link correctly.
> Basically, the search directory for LLVM has to be placed before the
> system libraries.
>
> Do you know a way to do it at the qmake stage, so that I don't have to
> patch the Makefile?
>
> Help appreciated!
>
For the time being I solved the problem by passing the following to qmake:
QMAKE_LFLAGS="-L/usr/libexec/qtcreator/clang/lib -L/usr/lib$LIBDIRSUFFIX"
This way the supplied LLVM libdir is searched before the system-wide
libdir and consequently correct version of LLVM libs are picked up.
($LIBDIRSUFFIX is "64" on 64-bit system and empty on 32-bit system).
Hope this helps!
If there's a better way, please let me know.
Thanks.
--
Best regards / Pozdrawiam,
Andrzej Telszewski
More information about the Qt-creator
mailing list