See bug https://bugs.gentoo.org/836723 There are 2 compilation errors: /var/tmp/portage/net-misc/turbovnc-2.2.7-r2/work/turbovnc-2.2.7/unix/Xvnc/programs/Xserver/os/access.c: In function 'GetLocalClientCreds': /var/tmp/portage/net-misc/turbovnc-2.2.7-r2/work/turbovnc-2.2.7/unix/Xvnc/programs/Xserver/os/access.c:1178:18: error: storage size of 'peercred' isn't known 1178 | struct ucred peercred; | ^~~~~~~~ /var/tmp/portage/net-misc/turbovnc-2.2.7-r2/work/turbovnc-2.2.7/unix/Xvnc/programs/Xserver/Xext/xf86bigfont.c:48:10: fatal error: asm/page.h: No such file or directory 48 | #include | ^~~~~~~~~~~~ --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,6 +69,8 @@ boolean_number(TVNC_BUILDSERVER) report_option(TVNC_BUILDSERVER "TurboVNC Server") +option(BUILDING_ON_MUSL "Define GNU macros on musl" 0) + if(TVNC_BUILDNATIVE OR TVNC_BUILDSERVER) set(USEC 1) endif() --- a/unix/Xvnc/programs/Xserver/os/CMakeLists.txt +++ b/unix/Xvnc/programs/Xserver/os/CMakeLists.txt @@ -13,6 +13,10 @@ add_definitions(-DBSD44SOCKETS) endif() +if(BUILDING_ON_MUSL) + add_definitions(-D_GNU_SOURCE) +endif() + set(EXTRASRCS "") if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") add_definitions(-DSECURE_RPC) --- a/unix/Xvnc/programs/Xserver/Xext/CMakeLists.txt +++ b/unix/Xvnc/programs/Xserver/Xext/CMakeLists.txt @@ -8,6 +8,10 @@ endif() endforeach() +if(BUILDING_ON_MUSL) + add_definitions(-D__GNU_LIBRARY__=2) +endif() + disable_compiler_warnings() handle_type_puns()