[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