ros2 / ci

ROS 2 CI Infrastructure
http://ci.ros2.org/
Apache License 2.0
48 stars 30 forks source link

Tight coupling of `pyside2` to `Qt` version can cause build regressions #727

Open claraberendsen opened 11 months ago

claraberendsen commented 11 months ago

Description

RHEL nightlies have started to fail since Nov 12th with an issue with unprovided dependencies for Qt 5.15.3 private APIs for the python3-pyside2-devel package.

00:01:05.746 Error: 
00:01:05.746  Problem: package python3-pyside2-devel-1:5.15.7-2.el9.x86_64 requires libpyside2.cpython-39-x86_64-linux-gnu.so.5.15()(64bit), but none of the providers can be installed
00:01:05.746   - conflicting requests
00:01:05.746   - nothing provides libQt5Charts.so.5(Qt_5.15.3_PRIVATE_API)(64bit) needed by python3-pyside2-1:5.15.7-2.el9.x86_64

OS version on ci is not pinned to a specific minor version of an OS but rather pulls the latest docker image for that given major version to build upon. On Nov 13th a version 9.3 of AlmaLinux was released with updates to Qt moving it from 5.15.3 to 5.15.9 likely prompted by security issue ALSA-2022:8022

EPEL which provides the python3-pyside2-devel package does not manage minor and major version of the updates therefore upon breaking changes to almalinux it need to be rebuilt pointing to the newer package. Previous errors derived from this were resolved by pinning to a previous version of almalinux with the necessary packages. ( See #701 )

However pinning to 9.2 or 9.1 didn't solve the issue (details in #726) which seemed odd.

Looking up which package provides the missing file (https://pkgs.org/search/?q=libQt5Charts.so.5) it seems that in most OS is the qt5-qtcharts package which is not available in AlmaLinux but it was being provided by EPEL as well.

This package was updated with the 9.3 AlmaLinux release to reflect the newer version of Qt (See) thus resulting on the system not being able to find the necessary dependency.

Therefore any breaking change introduced to Qt on Qt packages provided by EPEL and not AlmaLinux will likely cause build failures.

Details

OS: AlmaLinux 9.3 / 9.2 EPEL: 9

Further comments and debugging can be found on #726

claraberendsen commented 10 months ago

Here is the link to the package builds. Have been failing since 2023-11-13 that is the date of release of AlmaLinux 9.3.