[PyQt] Incorrect Makefile using .prl files from Qt 5.12.4

Eli Schwartz eschwartz at archlinux.org
Wed Jun 26 16:50:07 BST 2019


On 6/26/19 11:03 AM, 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)?

Seems to be caused by:
https://github.com/qt/qtbase/commit/d5071a4016ec663f8ec7c89ec7ebabea54b3260f
(https://bugreports.qt.io/browse/QTBUG-75804)

As a followup to:
https://github.com/qt/qtbase/commit/d5071a4016ec663f8ec7c89ec7ebabea54b3260f
(https://bugreports.qt.io/browse/QTBUG-75460)

The underlying issue is that Qt decided to use full filepaths to
libraries via
https://github.com/qt/qtbase/commit/521a85395da1a2728902816c072ec46bcb0ad380

...

The changes, for whatever reason, do seem to be quite intentional... and
given that .prl files would be part of the qmake language, it's the
responsibility of any tool that intends to parse .prl files to
understand this.

-- 
Eli Schwartz
Arch Linux Bug Wrangler and Trusted User

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1601 bytes
Desc: OpenPGP digital signature
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20190626/0a617ebe/attachment.sig>


More information about the PyQt mailing list