Make libvnc.so loadable: link libcore and the external libraries it needs. Two faults in tigervnc 1.16.2's unix/xserver/hw/vnc/Makefile.am, both of which only bite the loadable Xorg module; Xvnc itself is fine because it links via LOCAL_LIBS and XSERVER_SYS_LIBS. 1. CORE_LIB is used in COMMON_LIBS and never defined. 1.16 renamed the common library to "core", added $(CORE_LIB) to the list and forgot the definition, so it expands to nothing and common/core/libcore.la is never linked. Result: 96 undefined core:: symbols and (EE) Failed to load .../libvnc.so: undefined symbol: _ZTIN4core13VoidParameterE 2. The module never links the external libraries those static archives depend on. libvnc.la is built with -Wl,-z,now, so every symbol must resolve at dlopen time; pixman and zlib come from the Xorg server, but gnutls, nettle, hogweed, libjpeg and PAM do not. Result, once (1) is fixed: (EE) Failed to load .../libvnc.so: undefined symbol: gnutls_alert_get Found on Parted Magic 2026-09-23 building 1.16.2 against xorg-server 21.1.24. --- a/unix/xserver/hw/vnc/Makefile.am +++ b/unix/xserver/hw/vnc/Makefile.am @@ -2,6 +2,7 @@ TIGERVNC_BUILDDIR=$(abspath ${top_builddir}/../..) RFB_LIB=$(TIGERVNC_BUILDDIR)/common/rfb/librfb.la +CORE_LIB=$(TIGERVNC_BUILDDIR)/common/core/libcore.la RDR_LIB=$(TIGERVNC_BUILDDIR)/common/rdr/librdr.la OS_LIB=$(TIGERVNC_BUILDDIR)/common/os/libos.la NETWORK_LIB=$(TIGERVNC_BUILDDIR)/common/network/libnetwork.la @@ -84,6 +85,6 @@ libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now -libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) +libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) -lgnutls -lnettle -lhogweed -ljpeg -lpam EXTRA_DIST = Xvnc.man