Hi again,
So libX11 1.8.1 introduced a constructor to call XInitThreads(3)
unconditionnaly at library load time, to make sure all multithreaded X
applications would have correct locks around Xlib calls.
Of course this behaviour change also exposes some bugs in existing
code. A first one was found and fixed in xfsettingsd, the XFCE
settings daemon. There is a 2nd one in x11/fvwm2 and x11/fvwm3 which
is more complex to fix. I've sent patches to ports@ but I'm not
confident that they are correct.
So I propose that for OpenBSD 7.2 this change gets reverted in
libX11. This is done with the patch below.
Apply in /usr/xenocara/lib/libX11 and rebuild xenocara, following
instructions in release(8).
Ok, comments ?
Index: Makefile.bsd-wrapper
===================================================================
RCS file: /cvs/OpenBSD/xenocara/lib/libX11/Makefile.bsd-wrapper,v
retrieving revision 1.28
diff -u -p -u -r1.28 Makefile.bsd-wrapper
--- Makefile.bsd-wrapper 25 Apr 2022 19:26:17 -0000 1.28
+++ Makefile.bsd-wrapper 26 Aug 2022 05:31:15 -0000
@@ -14,6 +14,7 @@ SHARED_LIBS= X11 18.0 X11_xcb 2.0
CONFIGURE_ARGS= --enable-tcp-transport --enable-unix-transport --enable-ipv6 \
--disable-composecache \
+ --disable-thread-safety-constructor \
--without-xmlto --without-fop --without-xsltproc
.include <bsd.xorg.mk>
--
Matthieu Herrb