[PyQt] Incorrect Makefile using .prl files from Qt 5.12.4
Phil Thompson
phil at riverbankcomputing.com
Wed Jun 26 16:51:08 BST 2019
On 26/06/2019 16:22, Hans Gaiser wrote:
> Apologies, I didn't make it clear in my previous message, but the
> package I am using wraps sipconfig to generate a Makefile. Are you
> saying sipconfig should not be used outside of sip?
Sorry, my mistake - I haven't used or looked at that code for 6 years
and it was never used with PyQt5/Qt5.
It's probably easy to fix (the _expand_macro_value() function in
siputils.py) but I won't be doing it at this stage - sip5 is almost
finished.
Phil
> On 6/26/19 5:14 PM, Phil Thompson wrote:
>> On 26/06/2019 16:03, Hans Gaiser wrote:
>>> Hi there,
>>>
>>> Since Qt 5.12.4, .prl files use $$[QT_INSTALL_LIBS] variables to
>>> indicate the absolute location in which Qt libraries are installed.
>>> In
>>> Qt 5.12.3:
>>>
>>> cat /usr/lib/libQt5Gui.prl
>>>
>>> ...
>>> QMAKE_PRL_LIBS = -lQt5Core -lpthread
>>>
>>> However, in Qt 5.12.4:
>>>
>>> cat /usr/lib/libQt5Gui.prl
>>>
>>> ...
>>> QMAKE_PRL_LIBS = $$[QT_INSTALL_LIBS]/libQt5Core.so -lpthread
>>>
>>> These variables are not substituted by sip. The package I am using,
>>> uses sip to generate a Makefile. Because of this issue, in my
>>> Makefile
>>> I have an entry along the lines of:
>>>
>>> LFLAGS = <....removed for clarity....> -lQt5Core -lpthread -lQt5Gui
>>> $$[QT_INSTALL_LIBS]/libQt5Core.so
>>>
>>> This LFLAG causes failure during compilation. Should sip parse these
>>> variables, or should these variables not be in .prl files in the
>>> first
>>> place (in which case it is an upstream issue)?
>>
>> The (deprecated) sip build system is only intended to parse the spec
>> files that are part of sip itself.
>>
>> You might be able to work around it by passing correct values on the
>> command line.
>>
>> Phil
More information about the PyQt
mailing list