Fedora Account System
Red Hat Associate
Red Hat Customer
xdg-desktop-portal-hyprland failed to build from source in Fedora rawhide/f43 https://koji.fedoraproject.org/koji/taskinfo?taskID=135278119 For details on the mass rebuild see: https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild Please fix xdg-desktop-portal-hyprland at your earliest convenience and set the bug's status to ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks, xdg-desktop-portal-hyprland will be orphaned. Before branching of Fedora 44, xdg-desktop-portal-hyprland will be retired, if it still fails to build. For more details on the FTBFS policy, please visit: https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/
Created attachment 2102099 [details] build.log
Created attachment 2102100 [details] root.log file root.log too big, will only attach last 32768 bytes
Created attachment 2102101 [details] state.log
The particular problem here seems to have been resolved by a new hyprlang build - hyprlang-0.6.4-3.fc43 . However, hyprland still fails to build on both F43 and F44, apparently due to changes in sdbus-cpp. F43 has sdbus-cpp 2.1.0, and the build fails with this as the first error: FAILED: [code=1] CMakeFiles/xdg-desktop-portal-hyprland.dir/src/shared/Session.cpp.o /usr/bin/g++ -DXDPH_VERSION=\"1.3.6\" -I/builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/. -I/builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/protocols -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/libdrm -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=gnu++23 -O3 -Wall -Wextra -Wno-unused-parameter -Wno-unused-value -Wno-missing-field-initializers -Wno-narrowing -Wno-pointer-arith -fpermissive -Wno-address-of-temporary -D_REENTRANT -MD -MT CMakeFiles/xdg-desktop-portal-hyprland.dir/src/shared/Session.cpp.o -MF CMakeFiles/xdg-desktop-portal-hyprland.dir/src/shared/Session.cpp.o.d -o CMakeFiles/xdg-desktop-portal-hyprland.dir/src/shared/Session.cpp.o -c /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/shared/Session.cpp /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/shared/Session.cpp: In function ‘std::unique_ptr<SDBusSession> createDBusSession(sdbus::ObjectPath)’: /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/shared/Session.cpp:39:23: error: ‘class sdbus::IObject’ has no member named ‘registerMethod’ 39 | pSession->object->registerMethod("org.freedesktop.impl.portal.Session", "Close", "", "", [PSESSION](sdbus::MethodCall c) { onCloseSession(c, PSESSION); }); | ^~~~~~~~~~~~~~ /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/shared/Session.cpp:41:23: error: ‘class sdbus::IObject’ has no member named ‘finishRegistration’ 41 | pSession->object->finishRegistration(); | ^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/shared/Session.cpp: In function ‘std::unique_ptr<SDBusRequest> createDBusRequest(sdbus::ObjectPath)’: /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/shared/Session.cpp:54:23: error: ‘class sdbus::IObject’ has no member named ‘registerMethod’ 54 | pRequest->object->registerMethod("org.freedesktop.impl.portal.Request", "Close", "", "", [PREQUEST](sdbus::MethodCall c) { onCloseRequest(c, PREQUEST); }); | ^~~~~~~~~~~~~~ /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/shared/Session.cpp:56:23: error: ‘class sdbus::IObject’ has no member named ‘finishRegistration’ 56 | pRequest->object->finishRegistration(); | ^~~~~~~~~~~~~~~~~~ See https://koji.fedoraproject.org/koji/taskinfo?taskID=139135541 for the full log. On F44 sbus-cpp is now at 2.2.0 (which has an soname bump), and the first error in the build log is: /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/portals/GlobalShortcuts.cpp:138:58: error: no match for ‘operator=’ (operand types are ‘std::unordered_map<std::__cxx11::basic_string<char>, sdbus::Variant>::mapped_type’ {aka ‘sdbus::Variant’} and ‘const std::string’ {aka ‘const std::__cxx11::basic_string<char>’}) 138 | shortcutData["description"] = PSHORTCUT->description; | ^~~~~~~~~~~ /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/portals/GlobalShortcuts.cpp:138:58: note: there are 2 candidates In file included from /usr/include/sdbus-c++/ConvenienceApiClasses.h:32, from /usr/include/sdbus-c++/IObject.h:30, from /usr/include/sdbus-c++/sdbus-c++.h:28, from /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/portals/GlobalShortcuts.hpp:3, from /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.6-build/xdg-desktop-portal-hyprland-1.3.6/src/portals/GlobalShortcuts.cpp:1: /usr/include/sdbus-c++/Types.h:56:11: note: candidate 1: ‘sdbus::Variant& sdbus::Variant::operator=(const sdbus::Variant&)’ 56 | class Variant | ^~~~~~~ /usr/include/sdbus-c++/Types.h:56:11: note: no known conversion for argument 1 from ‘const std::string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘const sdbus::Variant&’ /usr/include/sdbus-c++/Types.h:56:11: note: candidate 2: ‘sdbus::Variant& sdbus::Variant::operator=(sdbus::Variant&&)’ /usr/include/sdbus-c++/Types.h:56:11: note: no known conversion for argument 1 from ‘const std::string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘sdbus::Variant&&’ See https://koji.fedoraproject.org/koji/taskinfo?taskID=139135183 for the full logs. The package is currently very outdated; it's 1.3.6, the latest release is 1.3.11. 1.3.11 does seem to look for a newer sdbus-cpp, so maybe it's intended to adjust to the upstream changes: -- Checking for module 'sdbus-c++>=2.0.0' However, building it (on F44) fails in a different way: [3/36] cd /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.11-build/xdg-desktop-portal-hyprland-1.3.11 && hyprwayland-scanner --client /usr/share/hyprland-protocols/protocols/hyprland-toplevel-mapping-v1.xml /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.11-build/xdg-desktop-portal-hyprland-1.3.11/protocols/ FAILED: [code=1] /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.11-build/xdg-desktop-portal-hyprland-1.3.11/protocols/hyprland-toplevel-mapping-v1.cpp /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.11-build/xdg-desktop-portal-hyprland-1.3.11/protocols/hyprland-toplevel-mapping-v1.hpp cd /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.11-build/xdg-desktop-portal-hyprland-1.3.11 && hyprwayland-scanner --client /usr/share/hyprland-protocols/protocols/hyprland-toplevel-mapping-v1.xml /builddir/build/BUILD/xdg-desktop-portal-hyprland-1.3.11-build/xdg-desktop-portal-hyprland-1.3.11/protocols/ Couldn't load proto I assume it needs other bits of the hyprland ecosystem to be updated too, probably hyprland-protocols . But I'm not actually interested in hyprland. The person this bug is assigned to seems to be the most recent person to take an interest in it; if they aren't interested in fixing this up any more, it will eventually get orphaned and retired. Also CCing Sandipan, who built hyprlang, as I guess they might be interested too. I hope I got the right account, there are two for Sandipan Roy, I'm aiming for https://fedoraproject.org/wiki/User:Bytehackr :D
This package has changed maintainer in Fedora. Reassigning to the new maintainer of this component.
Automation has figured out the package is retired in rawhide. If you like it to be unretired, please open a ticket at https://pagure.io/releng/new_issue?template=package_unretirement