from rxvt.h:142, from command.c:50: /usr/include/X11/Xlib.h:1687:15: note: declared here 1687 | extern KeySym XKeycodeToKeysym( | ^~~~~~~~~~~~~~~~ command.c: In function 'process_x_event': command.c:2517:88: error: passing argument 3 of 'read_32bit_property' from incompatible pointer type [-Wincompatible-pointer-types] 2517 | if( read_32bit_property (Xroot, _XROOTPMAP_ID, &p) ) | ^~ ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_systemd-20231220-133504 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-10 [2] x86_64-pc-linux-gnu-14 * clang/llvm (if any): clang version 17.0.6 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/17/bin Configuration file: /etc/clang/x86_64-pc-linux-gnu-clang.cfg /usr/lib/llvm/17 17.0.6 Python 3.11.7 Available Ruby profiles: [1] ruby31 (with Rubygems) * Available Rust versions: [1] rust-bin-1.74.1 * The following VMs are available for generation-2: 1) Eclipse Temurin JDK 21.0.1_p12 [openjdk-bin-21] *) Eclipse Temurin JDK 8.382_p05 [openjdk-bin-8] Available Java Virtual Machines: [1] openjdk-bin-8 system-vm [2] openjdk-bin-21 The Glorious Glasgow Haskell Compilation System, version 9.2.8 php cli (if any): go version go1.21.5 linux/amd64 HEAD of ::gentoo commit 1c7ec5ce713dc877f29623e556c5344ebd552c8a Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Thu Dec 21 14:18:49 2023 +0000 2023-12-21 14:18:48 UTC emerge -qpvO x11-terms/aterm [ebuild N ] x11-terms/aterm-1.0.1-r6 USE="xgetdefault -background -cjk"
Created attachment 880156 [details] emerge-info.txt
Created attachment 880157 [details] emerge-history.txt
Created attachment 880158 [details] environment
Created attachment 880159 [details] etc.clang.tar.xz
Created attachment 880160 [details] etc.portage.tar.xz
Created attachment 880161 [details] logs.tar.xz
Created attachment 880162 [details] qlist-info.txt
Created attachment 880163 [details] temp.tar.xz
Created attachment 880164 [details] x11-terms:aterm-1.0.1-r6:20231221-151117.log
Looks like the application is doing something slightly-dodgy-but-works-in-practice. Client-side, Pixmap is "unsigned long", which is 64-bit on amd64. I think server-side it's a CARD32, and I'm not sure that these IDs can ever be > 32bit. The application also uses CARD32 for some things inexplicably, rather than e.g. XID. read_32bit_property calls XGetWindowProperty and ensures that the "actual_format" is 32 before writing to the CARD32 ptr. Except we're passing in a Pixmap*, which is a pointer to a 64-bit value. Since amd64 is LE, the bottom bits get set correctly, and the upper bits are garbage. But I suspect they end up being ignored in practice down the line. This logic relates to transparency, and I know that transparency works -- I use it. So I'm thinking just change the Pixmap to a CARD32 and trudge along. The alternative is switching everything to use XID from CARD32, but that'd be more invasive.