error: no viable conversion from returned value of type
Quick summary
Arch Linux, Clang 19.1.7, compilation error (previously reported #17000 error seems to be fixed indeed).
Details
No response
Attach a log file
/tmp/makepkg.builddir/rpcs3-git/src/rpcs3/rpcs3/rpcs3qt/gs_frame.cpp:681:10: error: no viable conversion from returned value of type 'pair<typename __decay_and_strip<wl_display *&>::__type, typename __decay_and_strip<wl_surface *&>::__type>' (aka 'pair<wl_display *, wl_surface *>') to function return type 'display_handle_t' (aka 'variant<pair<_XDisplay *, unsigned long>>')
681 | return std::make_pair(wl_dpy, wl_surf);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Attach capture files for visual issues
No response
System configuration
No response
Other details
No response
Same on my end. Something's wrong with the Wayland/x11 defines
The problem is it's possible for HAVE_WAYLAND to be defined when VK_USE_PLATFORM_WAYLAND_KHR isn't.
https://github.com/RPCS3/rpcs3/blob/9b7d5cd1a9e56fe7ea9b89be887f4967465ff356/rpcs3/Emu/RSX/display.h#L24-L33
https://github.com/RPCS3/rpcs3/blob/9b7d5cd1a9e56fe7ea9b89be887f4967465ff356/rpcs3/rpcs3qt/gs_frame.cpp#L673-L684
Edit: Deleted potential workaround. It allowed build to succeed, but revealed another problem... Vulkan wasn't enabled... which would explain why VK_USE_PLATFORM_WAYLAND_KHR isn't set anymore.
Found problem and working solution. The Vulkan library and headers are now in separate packages on Arch. Need to revise the PKGBUILD so vulkan-icd-loader is in depends and vulkan-headers is in makedepends.
This should be fixed by #17120