main.c:1376:14: error: invalid use of undefined type 'struct termio' 1376 | d_tio.c_cc[VSTART] = CSTART; | ^ main.c:1379:14: error: invalid use of undefined type 'struct termio' 1379 | d_tio.c_cc[VSUSP] = CSUSP; | ^ main.c:1389:31: error: storage size of 'deftio' isn't known 1389 | struct termio deftio; | ^~~~~~ ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.0_musl-j4-20221229-143533 ------------------------------------------------------------------- GNUMAKEFLAGS="$GNUMAKEFLAGS --shuffle" gcc-config -l: [1] x86_64-gentoo-linux-musl-12.2.0 * clang/llvm (if any): clang version 15.0.6 Target: x86_64-gentoo-linux-musl Thread model: posix InstalledDir: /usr/lib/llvm/15/bin Configuration file: /etc/clang/clang.cfg /usr/lib/llvm/15 15.0.6 Python 3.10.9 Available Ruby profiles: [1] ruby27 (with Rubygems) [2] ruby31 (with Rubygems) * Available Rust versions: [1] rust-bin-1.66.0 [2] rust-1.66.0 * The following VMs are available for generation-2: 1) Eclipse Temurin JDK 11.0.17_p8 [openjdk-bin-11] *) Eclipse Temurin JDK 17.0.5_p8 [openjdk-bin-17] Available Java Virtual Machines: [1] openjdk-bin-11 [2] openjdk-bin-17 system-vm php cli (if any): [1] php7.4 [2] php8.0 [3] php8.2 * HEAD of ::gentoo commit b821a6c27f8bc37bfa5661dc66938cc271d22df8 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Sun Jan 1 11:47:05 2023 +0000 2023-01-01 11:47:04 UTC emerge -qpvO x11-terms/kterm [ebuild N ] x11-terms/kterm-6.2.0-r7 USE="-Xaw3d"
Created attachment 846398 [details] emerge-info.txt
Created attachment 846400 [details] emerge-history.txt.bz2
Created attachment 846402 [details] environment
Created attachment 846404 [details] etc.clang.tar.bz2
Created attachment 846406 [details] etc.portage.tar.bz2
Created attachment 846408 [details] temp.tar.bz2
Created attachment 846410 [details] x11-terms:kterm-6.2.0-r7:20230101-125139.log
It seems that 'struct termio' is missing in /usr/include/sys/ioctl.h. Probably to rewrite 'termio' with 'termios' is formally better because the termio is said as obsolete in termio.h; > /* Compatible <termio.h> for old `struct termio' ioctl interface. > This is obsolete; use the POSIX.1 `struct termios' interface > defined in <termios.h> instead. */ But kterm manyly depends on termio, so USE_SYSV_TERMIO hack is an easier solution, IMHO. I'm trying to write a patch...
Created attachment 867849 [details, diff] Use termios instead of termio with USE_SYSV_TERMIO hack This patch make termios fake termio with the original USE_SYSV_TERMIO hack. In addition, VDSUSP, that's not implemented in Linux, is commented out with #ifdef-endif.