FS#66085 - [qt5-base] PLEASE ENTER SUMMARY

Attached to Project: Arch Linux
Opened by Matt Anger (mattanger) - Thursday, 02 April 2020, 14:16 GMT
Last edited by Antonio Rojas (arojas) - Friday, 03 April 2020, 11:40 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Antonio Rojas (arojas)
Felix Yan (felixonmars)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
There appears to be an issue with a changes that made a qt5 cmake macro backwards incompatible.

The issue is pretty well described here as well: https://bugs.gentoo.org/703306

Errors:
CMake Error at /usr/lib64/cmake/Qt5Widgets/Qt5Widgets_QMotifStylePlugin.cmake:4 (_populate_Widgets_plugin_properties):
_populate_Widgets_plugin_properties Macro invoked with incorrect arguments
for macro named: _populate_Widgets_plugin_properties
Call Stack (most recent call first):
/usr/lib64/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:213 (include)
/usr/lib64/cmake/Qt5/Qt5Config.cmake:28 (find_package)
CMakeLists.txt:7 (find_package)

CMake Error at /usr/lib64/cmake/Qt5Widgets/Qt5Widgets_QPlastiqueStylePlugin.cmake:4 (_populate_Widgets_plugin_properties):
_populate_Widgets_plugin_properties Macro invoked with incorrect arguments
for macro named: _populate_Widgets_plugin_properties
Call Stack (most recent call first):
/usr/lib64/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:213 (include)
/usr/lib64/cmake/Qt5/Qt5Config.cmake:28 (find_package)
CMakeLists.txt:7 (find_package)

And so on..

All are related to the macro _populate_Widgets_plugin_properties or more specifically:
macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION IsDebugAndRelease)

Additional info:
* qt5-base 5.14.1-4
* cmake 3.17.0
* config and/or log files etc.
* https://bugs.gentoo.org/703306

Steps to reproduce:
New cmake file

include find_packages for qt5 Widgets & Gui
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
find_package(Qt5 COMPONENTS Gui Widgets REQUIRED)
run cmake

To temporarily fix the issue, I manually edited the macro in /usr/lib64/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake as described below:
-- macro(_populate_Widgets_plugin_properties Plugin Configuration PLUGIN_LOCATION
-- IsDebugAndRelease)
++ macro(_populate_Widgets_plugin_properties Plugin Configuration PLUGIN_LOCATION
++ )
++ set(IsDebugAndRelease FALSE)

I'm not particularly familiar with how the macros are generated, but hopefully this will pinpoint the issue. I've never submitted and Arch bug before, and I'm happy to change or resubmit if I've messed anything up.


This task depends upon

Closed by  Antonio Rojas (arojas)
Friday, 03 April 2020, 11:40 GMT
Reason for closing:  Not a bug
Additional comments about closing:  Partial updates are unsupported
Comment by Antonio Rojas (arojas) - Thursday, 02 April 2020, 17:35 GMT
It is not clear to me what the issue is here, can you elaborate? The link you posted describes a very gentoo-specific issue which I don't see how can affect a binary distro like ours.
Comment by Matt Anger (mattanger) - Friday, 03 April 2020, 11:20 GMT
I think that I may just be bad at describing what's going on. The issue is that when making a new cmake project that depends on certain Qt5 components, find_packages() fails because, macros like: _populate_Widgets_plugin_properties are expecting a 4th parameter which is not getting passed. All I'm doing is using the *.cmake scripts included with the qt5-base package. One can see the problem in:
/usr/lib64/cmake/Qt5Widgets/Qt5Widgets_QPlastiqueStylePlugin.cmake, the macro is called with 3 params but it's expecting 4.

The linked gentoo issue is similar in that it fails in the same way and describes a fix, other than that it's not applicable. Apologies if adding that link just confused the issued.

Perhaps this isn't appropriate bug tracker for this problem?
Comment by Antonio Rojas (arojas) - Friday, 03 April 2020, 11:35 GMT
Please post the output of "pacman -Qo /usr/lib/cmake/Qt5Widgets/Qt5Widgets_QPlastiqueStylePlugin.cmake"
Comment by Matt Anger (mattanger) - Friday, 03 April 2020, 11:37 GMT
Output:
pacman -Qo /usr/lib/cmake/Qt5Widgets/Qt5Widgets_QPlastiqueStylePlugin.cmake ~
/usr/lib/cmake/Qt5Widgets/Qt5Widgets_QPlastiqueStylePlugin.cmake is owned by qt5-styleplugins 5.0.0.20170311-11
Comment by Antonio Rojas (arojas) - Friday, 03 April 2020, 11:39 GMT
That package is a year old. There have been 9 new versions since then. Please update your system, the latest version works correctly with current Qt.

Loading...