New comment by ifreund on void-packages repository https://github.com/void-linux/void-packages/pull/34448#issuecomment-991258733 Comment: TLDR; it's firefox's fault: ``` 20:03 in alpine, a contributor submitted a package update for the latest wayland version (1.20.0), and now we are having a lot of problems with wl_proxy_marshal_flags missing. 20:03 we upgraded wayland-protocols already 20:03 am i missing something? 20:04 --> ikke (~kevin@ikke.user.oftc.net) has joined #wayland 20:07 hmm 20:07 Ariadne: what kind of issues? do you have an error message at hand? 20:07 undefined references to `wl_proxy_marshal_flags' 20:07 when running clients compiled with an older version? 20:08 https://build.alpinelinux.org/buildlogs/build-edge-aarch64/community/firefox-esr/firefox-esr-91.4.0-r0.log 20:08 or the other way around? 20:08 ah when compiling then? 20:08 yes 20:09 gentoo also appears to have this issue 20:09 https://bugs.gentoo.org/811840 20:09 Their solution was to set LDFLAGS -lwayland 20:09 hmm, that would indicate that something is no longer pulling -lwayland into the linking flags 20:10 have you checked the wayland .pc files yet? 20:10 -lwayland-client 20:11 "Now normally I would just look for a source file to patch where I could add #include but the file in question seems to be Unified_cpp_gfx_gl0.cpp which is generated-on-the-fly rather than being part of the firefox tarball ..." 20:12 libwayland.so doesn't exist… 20:12 there's only libwayland-server.so and libwayland-client.so 20:12 so i'm a bit surprised -lwayland fixes it 20:12 emersion: yeah, I meant -lwayland-client 20:12 ah ok 20:15 i see the symbol in the so, fwiw 20:15 155: 000000000003e540 1231 FUNC GLOBAL DEFAULT 12 wl_proxy_marshal_flags 21:02 -- irc: disconnected from server 21:02 --> ifreund (ifreund@94.79.138.86) has joined #wayland 20:18 rebuilding wayland-protocols won't help, it's just a bunch of XML files 20:18 by any chance, does firefox bundle its own libwayland? 20:20 using wayland-scanner 1.20 and linking to libwayland < 1.20 would result in this error 20:23 does this only happen with firefox, or also with other packages? 20:35 searching for wayland-client in the firefox tree, i don't ever see it looked up… 20:35 https://searchfox.org/mozilla-central/search?q=wayland-client&path= 20:36 wtf is this https://searchfox.org/mozilla-central/source/widget/gtk/mozwayland/mozwayland.h 20:37 let me guess… dlopen shenanigans, and these are placeholders? 20:37 "Wayland compatibility header, it makes Firefox build with wayland-1.2 and Gtk+ 3.10." 20:37 * emersion regrets looking into this, can't unsee now 20:38 emersion: I suggest you to not look at very similar dlopen magic in sdl then 20:38 "Those strucures[sic] are just placeholders and will be replaced by real symbols from libwayland during run-time linking. We need to make them explicitly visible." 20:38 ;_; 20:38 why firefox 20:39 because it might need to run on a system without libwayland-client.so 20:39 … this isn't how you do software 20:39 anyways 20:40 maybe adding the missing wl_proxy_marshal_flags prototype in this file might help then 20:40 maybe try this Ariadne? 20:40 cc ikke as well 20:40 why run time link? cant this be done properly? 20:40 does this mean chromium is the only real browser left now? :p 20:40 *a placeholder to https://searchfox.org/mozilla-central/source/widget/gtk/mozwayland/mozwayland.c, i think 20:41 yeah that should make the linker happy 20:41 hm 20:41 but then how will it run on systems with libwayland 1.19 20:41 yikes 20:42 at this point, not my problem :P 20:46 kennylevinsen: ^ a new item to add to your collection of firefox "fun facts" 20:47 so const struct wl_interface wl_proxy_marshal_flags;? 20:48 isn't it a function? 20:48 yeah, steal it from /usr/include/wayland-client.h 20:48 well 20:48 and like the rest, add a dummy function body 20:49 like this https://paste.sr.ht/~emersion/b191d5216175c9ea5aeb9afe5e813fd79e654ecf 20:50 lol@filename ```