File obs_log_None_standard_riscv64.txt of Package failed_stalld

[    0s] Using BUILD_ROOT=/var/cache/obs/worker/root_20/.mount
[    0s] Using BUILD_ARCH=riscv64
[    0s] Doing kvm build in /var/cache/obs/worker/root_20/root
[    0s] 
[    0s] 
[    0s] i04-ch1c started "build stalld.spec" at Fri Aug 22 22:29:33 UTC 2025.
[    0s] 
[    0s] Building failed_stalld for project 'home:lalala123:RISCV_test1' repository 'standard' arch 'riscv64' srcmd5 '6cdfaf9c80b5b0313ecd30d86ff604c1'
[    0s] 
[    0s] processing recipe /var/cache/obs/worker/root_20/.build-srcdir/stalld.spec ...
[    1s] running changelog2spec --target rpm --file /var/cache/obs/worker/root_20/.build-srcdir/stalld.spec
[    1s] init_buildsystem --configdir /var/run/obs/worker/20/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_20/.build.rpmlist /var/cache/obs/worker/root_20/.build-srcdir/stalld.spec build ...
[    1s] [1/28] preinstalling compat-usrmerge-tools...
[    1s] [2/28] preinstalling system-user-root...
[    1s] [3/28] preinstalling terminfo-base...
[    1s] [4/28] preinstalling filesystem...
[    1s] [5/28] preinstalling glibc...
[    1s] [6/28] preinstalling fillup...
[    1s] [7/28] preinstalling libacl1...
[    1s] [8/28] preinstalling libattr1...
[    1s] [9/28] preinstalling libbz2-1...
[    1s] [10/28] preinstalling libcap2...
[    1s] [11/28] preinstalling libgmp10...
[    1s] [12/28] preinstalling libgpg-error0...
[    1s] [13/28] preinstalling libjitterentropy3...
[    1s] [14/28] preinstalling liblua5_4-5...
[    1s] [15/28] preinstalling liblzma5...
[    1s] [16/28] preinstalling libpcre2-8-0...
[    2s] [17/28] preinstalling libpopt0...
[    2s] [18/28] preinstalling libz1...
[    2s] [19/28] preinstalling libzstd1...
[    2s] [20/28] preinstalling libncurses6...
[    2s] [21/28] preinstalling libreadline8...
[    2s] [22/28] preinstalling libselinux1...
[    2s] [23/28] preinstalling libgcrypt20...
[    2s] [24/28] preinstalling bash...
[    2s] [25/28] preinstalling bash-sh...
[    2s] [26/28] preinstalling qemu-linux-user...
[    2s] [27/28] preinstalling coreutils...
[    2s] [28/28] preinstalling rpm...
[    2s] 
[    2s] [1/18] preinstalling grep...
[    2s] [2/18] preinstalling kernel-obs-build...
[    2s] [3/18] preinstalling libaudit1...
[    2s] [4/18] preinstalling libcap-ng0...
[    2s] [5/18] preinstalling libcrypt1...
[    2s] [6/18] preinstalling libeconf0...
[    2s] [7/18] preinstalling libgcc_s1...
[    2s] [8/18] preinstalling libsmartcols1...
[    2s] [9/18] preinstalling libuuid1...
[    2s] [10/18] preinstalling libblkid1...
[    2s] [11/18] preinstalling perl-base...
[    2s] [12/18] preinstalling permctl...
[    2s] [13/18] preinstalling libmount1...
[    2s] [14/18] preinstalling permissions-config...
[    2s] [15/18] preinstalling libfdisk1...
[    2s] [16/18] preinstalling permissions...
[    2s] [17/18] preinstalling pam...
[    2s] [18/18] preinstalling util-linux...
[    2s] copying packages...
[    3s] reordering...cycle: lua54 -> lua-interpreter
[    3s]   breaking dependency lua54 -> lua-interpreter
[    3s] cycle: binutils -> libctf0
[    3s]   breaking dependency libctf0 -> binutils
[    3s] cycle: rpm-config-SUSE -> rpm
[    3s]   breaking dependency rpm-config-SUSE -> rpm
[    3s] done
[    3s] Detected virtio-serial support
[    4s] booting kvm...
[    4s] ### VM INTERACTION START ###
[    4s] Using virtio-serial support and enabling console input
[    4s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -M pc,accel=kvm,usb=off,dump-guest-core=off,vmport=off -sandbox on -bios /usr/share/qemu/qboot.rom -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -object iothread,id=io0 -run-with user=qemu -net none -kernel /var/cache/obs/worker/root_20/.mount/boot/kernel -initrd /var/cache/obs/worker/root_20/.mount/boot/initrd -append root=/dev/disk/by-id/virtio-0 rootfstype=ext4 rootflags=noatime elevator=noop nmi_watchdog=0 rw ia32_emulation=1 oops=panic panic=1 quiet console=hvc0 init=/.build/initvm.x86_64 -m 16384 -drive file=/var/cache/obs/worker/root_20/root,format=raw,if=none,id=disk,cache=unsafe,aio=io_uring -device virtio-blk-pci,iothread=io0,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_20/swap,format=raw,if=none,id=swap,cache=unsafe,aio=io_uring -device virtio-blk-pci,iothread=io0,drive=swap,serial=1 -device virtio-serial,max_ports=2 -device virtconsole,chardev=virtiocon0 -chardev stdio,mux=on,id=virtiocon0 -mon chardev=virtiocon0 -chardev socket,id=monitor,server=on,wait=off,path=/var/cache/obs/worker/root_20/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 4
[    5s] [!p]104[?7h[    0.525766][    T1] systemd[1]: Failed to start Virtual Console Setup.
[    5s] [[0;1;31mFAILED[0m] Failed to start [0;1;39mVirtual Console Setup[0m.
[    6s] [[0;1;31mFAILED[0m] Failed to start [0;1;39mVirtual Console Setup[0m.
[    7s] [6n[32766;32766H[6n[!p]104[?7h### VM INTERACTION END ###
[    7s] ^[[24;12nd stage started in virtual machine
[    7s] 0R^[[24;80Rmachine type: riscv64
[    7s] Linux version: 6.16.1-1-default #1 SMP PREEMPT_DYNAMIC Fri Aug 15 16:49:58 UTC 2025 (2e1765c)
[    7s] Time: Fri Aug 22 22:29:39 UTC 2025
[    7s] Increasing log level from now on...
[    7s] [    2.764249][  T578] sysrq: Changing Loglevel
[    7s] [    2.764319][  T578] sysrq: Loglevel set to 4
[    7s] Enable sysrq operations
[    7s] Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
[    7s] no label, UUID=0ef33125-e54d-4466-ac7f-2c585ff159c0
[    7s] WARNING: udev not running, creating extra device nodes
[    7s] logging output to //.build.log...
[    8s] processing recipe //.build-srcdir/stalld.spec ...
[    8s] init_buildsystem --configdir /.build/configs --cachedir /var/cache/build //.build-srcdir/stalld.spec build ...
[    8s] initializing rpm db...
[    8s] querying package ids...
[   15s] [1/129] cumulate compat-usrmerge-tools-84.87-5.5
[   15s] [2/129] cumulate crypto-policies-20250124.4d262e7-4.1
[   15s] [3/129] cumulate file-magic-5.46-4.1
[   15s] [4/129] cumulate kernel-obs-build-6.16.1-1.1
[   15s] [5/129] cumulate pkgconf-m4-2.2.0-1.1
[   15s] [6/129] cumulate system-user-root-20190513-2.4
[   15s] [7/129] cumulate terminfo-base-6.5.20250809-80.1
[   15s] [8/129] cumulate filesystem-84.87-18.1
[   15s] [9/129] cumulate glibc-2.42-1.1
[   15s] [10/129] cumulate diffutils-3.12-1.1
[   15s] [11/129] cumulate envsubst-mini-0.26-2.1
[   15s] [12/129] cumulate fillup-1.42-281.1
[   15s] [13/129] cumulate glibc-gconv-modules-extra-2.42-1.1
[   15s] [14/129] cumulate glibc-locale-base-2.42-1.1
[   15s] [15/129] cumulate libacl1-2.3.2-2.1
[   15s] [16/129] cumulate libalternatives1-1.2+31.da24cd4-1.1
[   15s] [17/129] cumulate libatomic1-15.1.1+git10189-1.1
[   15s] [18/129] cumulate libattr1-2.5.2-1.1
[   15s] [19/129] cumulate libaudit1-4.0.2-4.1
[   15s] [20/129] cumulate libbz2-1-1.0.8-5.3
[   15s] [21/129] cumulate libcap-ng0-0.8.5-1.1
[   15s] [22/129] cumulate libcap2-2.75-1.1
[   15s] [23/129] cumulate libcrypt1-4.4.38-1.1
[   15s] [24/129] cumulate libeconf0-0.7.10-1.1
[   15s] [25/129] cumulate libgcc_s1-15.1.1+git10189-1.1
[   15s] [26/129] cumulate libgdbm6-1.24-2.1
[   15s] [27/129] cumulate libgmp10-6.3.0-5.1
[   15s] [28/129] cumulate libgomp1-15.1.1+git10189-1.1
[   15s] [29/129] cumulate libgpg-error0-1.55-1.1
[   15s] [30/129] cumulate libitm1-15.1.1+git10189-1.1
[   15s] [31/129] cumulate libjitterentropy3-3.6.3-1.1
[   15s] [32/129] cumulate liblua5_4-5-5.4.8-3.1
[   15s] [33/129] cumulate liblz1-1.15-1.1
[   15s] [34/129] cumulate liblz4-1-1.10.0-2.1
[   15s] [35/129] cumulate liblzma5-5.8.1-1.1
[   15s] [36/129] cumulate libpcre2-8-0-10.45-2.1
[   15s] [37/129] cumulate libpkgconf5-2.2.0-1.1
[   15s] [38/129] cumulate libpopt0-1.19-1.4
[   15s] [39/129] cumulate libseccomp2-2.6.0-2.1
[   15s] [40/129] cumulate libsmartcols1-2.41.1-3.1
[   15s] [41/129] cumulate libuuid1-2.41.1-3.1
[   15s] [42/129] cumulate libz1-1.3.1-1.1
[   15s] [43/129] cumulate libzstd1-1.5.7-3.1
[   15s] [44/129] cumulate patch-2.8-1.1
[   15s] [45/129] cumulate update-alternatives-1.22.21-1.1
[   15s] [46/129] cumulate which-2.23-1.1
[   15s] [47/129] cumulate libncurses6-6.5.20250809-80.1
[   15s] [48/129] cumulate alts-1.2+31.da24cd4-1.1
[   15s] [49/129] cumulate libblkid1-2.41.1-3.1
[   15s] [50/129] cumulate libctf-nobfd0-2.43-10.1
[   15s] [51/129] cumulate libgdbm_compat4-1.24-2.1
[   15s] [52/129] cumulate libisl23-0.27-1.1
[   15s] [53/129] cumulate libmpfr6-4.2.2-1.1
[   15s] [54/129] cumulate libreadline8-8.3.1-1.1
[   15s] [55/129] cumulate libselinux1-3.9-2.1
[   15s] [56/129] cumulate libstdc++6-15.1.1+git10189-1.1
[   15s] [57/129] cumulate ncurses-utils-6.5.20250809-80.1
[   15s] [58/129] cumulate perl-base-5.42.0-1.1
[   15s] [59/129] cumulate pkgconf-2.2.0-1.1
[   15s] [60/129] cumulate libelf1-0.192-2.1
[   15s] [61/129] cumulate libgcrypt20-1.11.2-6.1
[   15s] [62/129] cumulate libxml2-2-2.13.8-3.1
[   15s] [63/129] cumulate permctl-1699_20250120-1.2
[   15s] [64/129] cumulate libmagic1-5.46-4.1
[   15s] [65/129] cumulate build-mkbaselibs-20250708-1.1
[   15s] [66/129] cumulate bash-5.3.3-1.1
[   15s] [67/129] cumulate dwz-0.15-6.1
[   15s] [68/129] cumulate findutils-4.10.0-2.1
[   15s] [69/129] cumulate file-5.46-4.1
[   15s] [70/129] cumulate libasan8-15.1.1+git10189-1.1
[   15s] [71/129] cumulate libfdisk1-2.41.1-3.1
[   15s] [72/129] cumulate liblsan0-15.1.1+git10189-1.1
[   15s] [73/129] cumulate libmount1-2.41.1-3.1
[   15s] [74/129] cumulate libmpc3-1.3.1-1.5
[   15s] [75/129] cumulate libtsan2-15.1.1+git10189-1.1
[   15s] [76/129] cumulate libubsan1-15.1.1+git10189-1.1
[   15s] [77/129] cumulate sed-4.9-2.2
[   15s] [78/129] cumulate tar-1.35-4.1
[   15s] [79/129] cumulate libdw1-0.192-2.1
[   15s] [80/129] cumulate perl-5.42.0-1.1
[   15s] [81/129] cumulate bash-sh-5.3.3-1.1
[   15s] [82/129] cumulate brp-check-suse-84.87+git20230324.8680ce4-1.1
[   15s] [83/129] cumulate perl-rpm-packaging-1.2-1.1
[   15s] [84/129] cumulate libasm1-0.192-2.1
[   15s] [85/129] cumulate cpp15-15.1.1+git10189-1.1
[   15s] [86/129] cumulate qemu-linux-user-10.0.3-83.1
[   15s] [87/129] cumulate cpio-2.15-6.1
[   15s] [88/129] cumulate cpp-15-1.1
[   15s] [89/129] cumulate gzip-1.14-1.1
[   15s] [90/129] cumulate make-4.4.1-3.1
[   15s] [91/129] cumulate bzip2-1.0.8-5.3
[   15s] [92/129] cumulate grep-3.12-1.1
[   15s] [93/129] cumulate pkgconf-pkg-config-2.2.0-1.1
[   15s] [94/129] cumulate xz-5.8.1-1.1
[   15s] [95/129] cumulate gettext-runtime-mini-0.26-2.1
[   15s] [96/129] cumulate gawk-5.3.2-1.1
[   15s] [97/129] cumulate coreutils-9.7-3.1
[   15s] [98/129] cumulate elfutils-0.192-2.1
[   15s] [99/129] cumulate linux-glibc-devel-6.16-1.1
[   15s] [100/129] cumulate systemd-rpm-macros-26-1.1
[   15s] [101/129] cumulate libxcrypt-devel-4.4.38-1.1
[   15s] [102/129] cumulate libopenssl3-3.5.2-1.1
[   15s] [103/129] cumulate permissions-config-1699_20250120-1.2
[   15s] [104/129] cumulate polkit-default-privs-1550+20250721.f1b71a3-1.1
[   15s] [105/129] cumulate gettext-tools-mini-0.26-2.1
[   15s] [106/129] cumulate aaa_base-84.87+git20250805.3069494-1.1
[   15s] [107/129] cumulate aaa_base-malloccheck-84.87+git20250805.3069494-1.1
[   15s] [108/129] cumulate permissions-1699_20250120-1.2
[   15s] [109/129] cumulate glibc-devel-2.42-1.1
[   15s] [110/129] cumulate rpmlint-mini-2.7.0+git20250710.a7f0a67c-18.42
[   15s] [111/129] cumulate libarchive13-3.8.1-1.1
[   15s] [112/129] cumulate pam-1.7.1-3.1
[   15s] [113/129] cumulate post-build-checks-84.87+git20250725.0c3a172-1.1
[   15s] [114/129] cumulate util-linux-2.41.1-3.1
[   15s] [115/129] cumulate rpm-config-SUSE-20250423-1.1
[   15s] [116/129] cumulate libctf0-2.43-10.1
[   15s] [117/129] cumulate lua54-5.4.8-3.1
[   15s] [118/129] cumulate compat-usrmerge-build-84.87-5.5
[   15s] [119/129] cumulate lua-interpreter-5-3.1
[   15s] [120/129] cumulate binutils-2.43-10.1
[   15s] [121/129] cumulate rpm-4.20.1-6.1
[   15s] [122/129] cumulate build-compare-20240801T083050.024a3a7-1.1
[   15s] [123/129] cumulate librpmbuild10-4.20.1-6.1
[   15s] [124/129] cumulate debugedit-5.1-1.1
[   15s] [125/129] cumulate gcc15-15.1.1+git10189-1.1
[   15s] [126/129] cumulate gcc15-PIE-15.1.1+git10189-1.1
[   15s] [127/129] cumulate gcc-15-1.1
[   15s] [128/129] cumulate gcc-PIE-15-1.1
[   15s] [129/129] cumulate rpm-build-4.20.1-6.1
[   15s] now installing cumulated packages
[   15s] Preparing...                          ########################################
[   15s] Updating / installing...
[   15s] system-user-root-20190513-2.4         ########################################
[   15s] terminfo-base-6.5.20250809-80.1       ########################################
[   15s] pkgconf-m4-2.2.0-1.1                  ########################################
[   16s] file-magic-5.46-4.1                   ########################################
[   16s] crypto-policies-20250124.4d262e7-4.1  ########################################
[   16s] compat-usrmerge-tools-84.87-5.5       ########################################
[   16s] filesystem-84.87-18.1                 ########################################
[   16s] glibc-2.42-1.1                        ########################################
[   17s] libz1-1.3.1-1.1                       ########################################
[   17s] libgcc_s1-15.1.1+git10189-1.1         ########################################
[   17s] libzstd1-1.5.7-3.1                    ########################################
[   17s] libelf1-0.192-2.1                     ########################################
[   17s] libstdc++6-15.1.1+git10189-1.1        ########################################
[   17s] libgmp10-6.3.0-5.1                    ########################################
[   17s] libacl1-2.3.2-2.1                     ########################################
[   17s] libbz2-1-1.0.8-5.3                    ########################################
[   17s] liblzma5-5.8.1-1.1                    ########################################
[   17s] libcrypt1-4.4.38-1.1                  ########################################
[   18s] perl-base-5.42.0-1.1                  ########################################
[   18s] libdw1-0.192-2.1                      ########################################
[   18s] libmpfr6-4.2.2-1.1                    ########################################
[   18s] fillup-1.42-281.1                     ########################################
[   18s] libcap2-2.75-1.1                      ########################################
[   18s] libeconf0-0.7.10-1.1                  ########################################
[   18s] libblkid1-2.41.1-3.1                  ########################################
[   18s] libgomp1-15.1.1+git10189-1.1          ########################################
[   18s] liblua5_4-5-5.4.8-3.1                 ########################################
[   18s] libpopt0-1.19-1.4                     ########################################
[   18s] libncurses6-6.5.20250809-80.1         ########################################
[   18s] libreadline8-8.3.1-1.1                ########################################
[   19s] bash-5.3.3-1.1                        ########################################
[   19s] bash-sh-5.3.3-1.1                     ########################################
[   19s] xz-5.8.1-1.1                          ########################################
[   19s] gawk-5.3.2-1.1                        ########################################
[   19s] cpio-2.15-6.1                         ########################################
[   19s] permctl-1699_20250120-1.2             ########################################
[   19s] libmpc3-1.3.1-1.5                     ########################################
[   19s] libisl23-0.27-1.1                     ########################################
[   24s] cpp15-15.1.1+git10189-1.1             ########################################
[   24s] dwz-0.15-6.1                          ########################################
[   24s] diffutils-3.12-1.1                    ########################################
[   24s] libaudit1-4.0.2-4.1                   ########################################
[   24s] libgdbm6-1.24-2.1                     ########################################
[   24s] libjitterentropy3-3.6.3-1.1           ########################################
[   24s] libpcre2-8-0-10.45-2.1                ########################################
[   24s] libselinux1-3.9-2.1                   ########################################
[   24s] sed-4.9-2.2                           ########################################
[   24s] grep-3.12-1.1                         ########################################
[   24s] findutils-4.10.0-2.1                  ########################################
[   24s] libuuid1-2.41.1-3.1                   ########################################
[   24s] libfdisk1-2.41.1-3.1                  ########################################
[   25s] libmount1-2.41.1-3.1                  ########################################
[   25s] tar-1.35-4.1                          ########################################
[   25s] libgdbm_compat4-1.24-2.1              ########################################
[   29s] perl-5.42.0-1.1                       ########################################
[   29s] perl-rpm-packaging-1.2-1.1            ########################################
[   29s] cpp-15-1.1                            ########################################
[   29s] gzip-1.14-1.1                         ########################################
[   29s] make-4.4.1-3.1                        ########################################
[   29s] bzip2-1.0.8-5.3                       ########################################
[   29s] ncurses-utils-6.5.20250809-80.1       ########################################
[   29s] libasm1-0.192-2.1                     ########################################
[   29s] elfutils-0.192-2.1                    ########################################
[   29s] libxml2-2-2.13.8-3.1                  ########################################
[   29s] libasan8-15.1.1+git10189-1.1          ########################################
[   30s] liblsan0-15.1.1+git10189-1.1          ########################################
[   30s] libtsan2-15.1.1+git10189-1.1          ########################################
[   30s] libubsan1-15.1.1+git10189-1.1         ########################################
[   30s] libctf-nobfd0-2.43-10.1               ########################################
[   30s] envsubst-mini-0.26-2.1                ########################################
[   30s] gettext-runtime-mini-0.26-2.1         ########################################
[   31s] glibc-gconv-modules-extra-2.42-1.1    ########################################
[   32s] gettext-tools-mini-0.26-2.1           ########################################
[   32s] glibc-locale-base-2.42-1.1            ########################################
[   32s] libalternatives1-1.2+31.da24cd4-1.1   ########################################
[   32s] alts-1.2+31.da24cd4-1.1               ########################################
[   32s] lua-interpreter-5-3.1                 ########################################
[   32s] lua54-5.4.8-3.1                       ########################################
[   32s] libatomic1-15.1.1+git10189-1.1        ########################################
[   32s] libattr1-2.5.2-1.1                    ########################################
[   32s] coreutils-9.7-3.1                     ########################################
[   33s] aaa_base-84.87+git20250805.3069494-1.1########################################
[   33s] Updating /etc/sysconfig/proxy ...
[   33s] aaa_base-malloccheck-84.87+git20250805########################################
[   33s] linux-glibc-devel-6.16-1.1            ########################################
[   33s] systemd-rpm-macros-26-1.1             ########################################
[   34s] libopenssl3-3.5.2-1.1                 ########################################
[   34s] permissions-config-1699_20250120-1.2  ########################################
[   34s] Updating /etc/sysconfig/security ...
[   34s] Checking permissions and ownerships - using the permissions files
[   34s] 	/usr/share/permissions/permissions
[   34s] 	/usr/share/permissions/permissions.easy
[   34s] 	/etc/permissions.local
[   34s] /usr/sbin/unix_chkpwd: setting to root:shadow 4755 (wrong owner/group root:root)
[   34s] permissions-1699_20250120-1.2         ########################################
[   35s] pam-1.7.1-3.1                         ########################################
[   35s] polkit-default-privs-1550+20250721.f1b########################################
[   35s] Updating /etc/sysconfig/security ...
[   35s] can't open /etc/polkit-1/rules.d/90-default-privs.rules.new: No such file or directory
[   35s] warning: %post(polkit-default-privs-1550+20250721.f1b71a3-1.1.noarch) scriptlet failed, exit status 2
[   35s] libcap-ng0-0.8.5-1.1                  ########################################
[   35s] libgpg-error0-1.55-1.1                ########################################
[   36s] libgcrypt20-1.11.2-6.1                ########################################
[   36s] rpm-config-SUSE-20250423-1.1          ########################################
[   36s] rpm-4.20.1-6.1                        ########################################
[   36s] Updating /etc/sysconfig/services ...
[   37s] libitm1-15.1.1+git10189-1.1           ########################################
[   37s] liblz1-1.15-1.1                       ########################################
[   37s] libmagic1-5.46-4.1                    ########################################
[   37s] librpmbuild10-4.20.1-6.1              ########################################
[   37s] liblz4-1-1.10.0-2.1                   ########################################
[   37s] libarchive13-3.8.1-1.1                ########################################
[   37s] libpkgconf5-2.2.0-1.1                 ########################################
[   37s] pkgconf-2.2.0-1.1                     ########################################
[   37s] pkgconf-pkg-config-2.2.0-1.1          ########################################
[   37s] libxcrypt-devel-4.4.38-1.1            ########################################
[   37s] glibc-devel-2.42-1.1                  ########################################
[   37s] libseccomp2-2.6.0-2.1                 ########################################
[   37s] file-5.46-4.1                         ########################################
[   37s] libsmartcols1-2.41.1-3.1              ########################################
[   38s] util-linux-2.41.1-3.1                 ########################################
[   38s] patch-2.8-1.1                         ########################################
[   38s] update-alternatives-1.22.21-1.1       ########################################
[   38s] libctf0-2.43-10.1                     ########################################
[   42s] binutils-2.43-10.1                    ########################################
[   42s] update-alternatives: using /usr/bin/ld.bfd to provide /usr/bin/ld (ld) in auto mode
[   67s] gcc15-15.1.1+git10189-1.1             ########################################
[   67s] gcc15-PIE-15.1.1+git10189-1.1         ########################################
[   67s] gcc-15-1.1                            ########################################
[   67s] debugedit-5.1-1.1                     ########################################
[   67s] which-2.23-1.1                        ########################################
[   67s] rpm-build-4.20.1-6.1                  ########################################
[   67s] gcc-PIE-15-1.1                        ########################################
[   67s] build-compare-20240801T083050.024a3a7-########################################
[   70s] rpmlint-mini-2.7.0+git20250710.a7f0a67########################################
[   70s] post-build-checks-84.87+git20250725.0c########################################
[   70s] compat-usrmerge-build-84.87-5.5       ########################################
[   70s] brp-check-suse-84.87+git20230324.8680c########################################
[   76s] qemu-linux-user-10.0.3-83.1           ########################################
[   76s] build-mkbaselibs-20250708-1.1         ########################################
[   77s] kernel-obs-build-6.16.1-1.1           ########################################
[   81s] now finalizing build dir...
[   81s] ... running 01-add_abuild_user_to_trusted_group
[   81s] ... running 02-set_timezone_to_utc
[   82s] ... running 03-set-permissions-secure
[   82s] ... running 11-hack_uname_version_to_kernel_version
[   84s] setting SOURCE_DATE_EPOCH_MTIME to 1732784002
[   91s] -----------------------------------------------------------------
[   91s] I have the following modifications for stalld.spec:
[   91s] 21c21
[   91s] < Release:        0
[   91s] ---
[   91s] > Release:        8.1
[   95s] build target is riscv64-suse-linux
[   95s] -----------------------------------------------------------------
[   95s] ----- building stalld.spec (user abuild)
[   95s] -----------------------------------------------------------------
[   95s] -----------------------------------------------------------------
[   98s] setting SOURCE_DATE_EPOCH_MTIME to 1732784002
[   98s] + exec rpmbuild -ba --define '_srcdefattr (-,root,root)' --nosignature --target=riscv64-suse-linux --undefine _enable_debug_packages --define 'disturl obs://build.opensuse.org/home:lalala123:RISCV_test1/standard/6cdfaf9c80b5b0313ecd30d86ff604c1-failed_stalld' /home/abuild/rpmbuild/SOURCES/stalld.spec
[   98s] Building target platforms: riscv64-suse-linux
[   98s] Building for target riscv64-suse-linux
[   98s] using SOURCE_DATE_EPOCH with value 1732784001 as build time
[   98s] Executing(%mkbuilddir): /usr/bin/env QEMU_STACK_SIZE=64M /usr/bin/bash -e /var/tmp/rpm-tmp.arAFnO
[   99s] Executing(%prep): /usr/bin/env QEMU_STACK_SIZE=64M /usr/bin/bash -e /var/tmp/rpm-tmp.OIbhSW
[   99s] + umask 022
[   99s] + cd /home/abuild/rpmbuild/BUILD/stalld-1.19.3-build
[   99s] + cd /home/abuild/rpmbuild/BUILD/stalld-1.19.3-build
[   99s] + rm -rf stalld-v1.19.3
[   99s] + /usr/lib/rpm/rpmuncompress -x -v /home/abuild/rpmbuild/SOURCES/stalld-v1.19.3.tar.bz2
[   99s]  /usr/bin/bzip2 -dc  '/home/abuild/rpmbuild/SOURCES/stalld-v1.19.3.tar.bz2' | /usr/bin/tar -xvvof - 
[   99s] drwxrwxr-x zcy/staff         0 2024-05-16 16:06 stalld-v1.19.3/
[   99s] -rw-rw-r-- zcy/staff        78 2024-05-16 16:06 stalld-v1.19.3/.gitignore
[   99s] -rw-rw-r-- zcy/staff      5270 2024-05-16 16:06 stalld-v1.19.3/Makefile
[   99s] -rw-rw-r-- zcy/staff      2836 2024-05-16 16:06 stalld-v1.19.3/README.md
[   99s] drwxrwxr-x zcy/staff         0 2024-05-16 16:06 stalld-v1.19.3/bpf/
[   99s] -rw-rw-r-- zcy/staff      4029 2024-05-16 16:06 stalld-v1.19.3/bpf/stalld.bpf.c
[   99s] drwxrwxr-x zcy/staff         0 2024-05-16 16:06 stalld-v1.19.3/doc/
[   99s] -rw-rw-r-- zcy/staff      3178 2024-05-16 16:06 stalld-v1.19.3/doc/Releases.md
[   99s] -rw-rw-r-- zcy/staff     18092 2024-05-16 16:06 stalld-v1.19.3/gpl-2.0.txt
[   99s] drwxrwxr-x zcy/staff         0 2024-05-16 16:06 stalld-v1.19.3/man/
[   99s] -rw-rw-r-- zcy/staff      3480 2024-05-16 16:06 stalld-v1.19.3/man/stalld.8
[   99s] drwxrwxr-x zcy/staff         0 2024-05-16 16:06 stalld-v1.19.3/scripts/
[   99s] -rwxrwxr-x zcy/staff      6320 2024-05-16 16:06 stalld-v1.19.3/scripts/git-archive-signer
[   99s] -rwxrwxr-x zcy/staff      1691 2024-05-16 16:06 stalld-v1.19.3/scripts/throttlectl.sh
[   99s] drwxrwxr-x zcy/staff         0 2024-05-16 16:06 stalld-v1.19.3/src/
[   99s] -rw-rw-r-- zcy/staff      7139 2024-05-16 16:06 stalld-v1.19.3/src/queue_track.c
[   99s] -rw-rw-r-- zcy/staff       504 2024-05-16 16:06 stalld-v1.19.3/src/queue_track.h
[   99s] -rw-rw-r-- zcy/staff     13791 2024-05-16 16:06 stalld-v1.19.3/src/sched_debug.c
[   99s] -rw-rw-r-- zcy/staff       191 2024-05-16 16:06 stalld-v1.19.3/src/sched_debug.h
[   99s] -rw-rw-r-- zcy/staff     30094 2024-05-16 16:06 stalld-v1.19.3/src/stalld.c
[   99s] -rw-rw-r-- zcy/staff      1027 2025-08-22 19:45 stalld-v1.19.3/src/stalld.h
[   99s] -rw-rw-r-- zcy/staff      2755 2024-05-16 16:06 stalld-v1.19.3/src/throttling.c
[   99s] -rw-rw-r-- zcy/staff       358 2025-08-22 19:45 stalld-v1.19.3/src/utils.c
[   99s] drwxrwxr-x zcy/staff         0 2024-05-16 16:06 stalld-v1.19.3/systemd/
[   99s] -rw-rw-r-- zcy/staff       364 2024-05-16 16:06 stalld-v1.19.3/systemd/Makefile
[   99s] -rw-rw-r-- zcy/staff      1490 2024-05-16 16:06 stalld-v1.19.3/systemd/stalld.conf
[   99s] -rw-rw-r-- zcy/staff       537 2024-05-16 16:06 stalld-v1.19.3/systemd/stalld.service
[   99s] drwxrwxr-x zcy/staff         0 2024-05-16 16:06 stalld-v1.19.3/tests/
[   99s] -rw-rw-r-- zcy/staff       275 2024-05-16 16:06 stalld-v1.19.3/tests/Makefile
[   99s] -rw-rw-r-- zcy/staff     11013 2024-05-16 16:06 stalld-v1.19.3/tests/test01.c
[   99s] + STATUS=0
[   99s] + '[' 0 -ne 0 ']'
[   99s] + cd stalld-v1.19.3
[   99s] + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
[   99s] + /usr/lib/rpm/rpmuncompress /home/abuild/rpmbuild/SOURCES/pid-dir.patch
[   99s] + /usr/bin/patch -p1 --fuzz=0 --no-backup-if-mismatch -f
[   99s] patching file systemd/stalld.service
[   99s] + /usr/lib/rpm/rpmuncompress /home/abuild/rpmbuild/SOURCES/fixed-tmpfile-fix.patch
[   99s] + /usr/bin/patch -p1 --fuzz=0 --no-backup-if-mismatch -f
[   99s] patching file scripts/throttlectl.sh
[   99s] + RPM_EC=0
[   99s] ++ jobs -p
[   99s] + exit 0
[  100s] Executing(%build): /usr/bin/env QEMU_STACK_SIZE=64M /usr/bin/bash -e /var/tmp/rpm-tmp.WmR5gx
[  100s] + umask 022
[  100s] + cd /home/abuild/rpmbuild/BUILD/stalld-1.19.3-build
[  100s] + /usr/bin/rm -rf /home/abuild/rpmbuild/BUILD/stalld-1.19.3-build/BUILDROOT
[  100s] ++ dirname /home/abuild/rpmbuild/BUILD/stalld-1.19.3-build/BUILDROOT
[  100s] + /usr/bin/mkdir -p /home/abuild/rpmbuild/BUILD/stalld-1.19.3-build
[  100s] + /usr/bin/mkdir /home/abuild/rpmbuild/BUILD/stalld-1.19.3-build/BUILDROOT
[  100s] + cd stalld-v1.19.3
[  100s] + ref=/usr/lib/rpm
[  100s] + mints=0
[  100s] + case $(uname -m) in
[  100s] ++ uname -m
[  100s] + mints=20160911
[  100s] + for s in guess sub
[  100s] ++ find -maxdepth 8 -name config.guess
[  100s] + for s in guess sub
[  100s] ++ find -maxdepth 8 -name config.sub
[  100s] + /usr/bin/make -O -j4 V=1 VERBOSE=1 USE_BPF=0 SOPTS= 'CFLAGS=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DVERSION=\"1.19.3\"' stalld
[  103s] ARCH=riscv64
[  103s] USE_BPF=0
[  103s] FCF_PROTECTION=-fcf-protection
[  103s] TMOPTS=-mtune=generic
[  104s] gcc -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DVERSION=\"1.19.3\"   -c -o src/utils.o src/utils.c
[  104s] In file included from src/utils.c:1:
[  104s] src/stalld.h:17:5: error: unknown type name ‘uint32_t’
[  104s]    17 |     uint32_t size;
[  104s]       |     ^~~~~~~~
[  104s] src/stalld.h:6:1: note: ‘uint32_t’ is defined in header ‘<stdint.h>’; this is probably fixable by adding ‘#include <stdint.h>’
[  104s]     5 | #include <unistd.h>
[  104s]   +++ |+#include <stdint.h>
[  104s]     6 | 
[  104s] src/stalld.h:18:5: error: unknown type name ‘uint32_t’
[  104s]    18 |     uint32_t sched_policy;
[  104s]       |     ^~~~~~~~
[  104s] src/stalld.h:18:5: note: ‘uint32_t’ is defined in header ‘<stdint.h>’; this is probably fixable by adding ‘#include <stdint.h>’
[  104s] src/stalld.h:19:5: error: unknown type name ‘uint64_t’
[  104s]    19 |     uint64_t sched_flags;
[  104s]       |     ^~~~~~~~
[  104s] src/stalld.h:19:5: note: ‘uint64_t’ is defined in header ‘<stdint.h>’; this is probably fixable by adding ‘#include <stdint.h>’
[  104s] src/stalld.h:20:5: error: unknown type name ‘int32_t’
[  104s]    20 |     int32_t sched_nice;
[  104s]       |     ^~~~~~~
[  104s] src/stalld.h:20:5: note: ‘int32_t’ is defined in header ‘<stdint.h>’; this is probably fixable by adding ‘#include <stdint.h>’
[  104s] src/stalld.h:21:5: error: unknown type name ‘uint32_t’
[  104s]    21 |     uint32_t sched_priority;
[  104s]       |     ^~~~~~~~
[  104s] src/stalld.h:21:5: note: ‘uint32_t’ is defined in header ‘<stdint.h>’; this is probably fixable by adding ‘#include <stdint.h>’
[  104s] src/stalld.h:22:5: error: unknown type name ‘uint64_t’
[  104s]    22 |     uint64_t sched_runtime;
[  104s]       |     ^~~~~~~~
[  104s] src/stalld.h:22:5: note: ‘uint64_t’ is defined in header ‘<stdint.h>’; this is probably fixable by adding ‘#include <stdint.h>’
[  104s] src/stalld.h:23:5: error: unknown type name ‘uint64_t’
[  104s]    23 |     uint64_t sched_deadline;
[  104s]       |     ^~~~~~~~
[  104s] src/stalld.h:23:5: note: ‘uint64_t’ is defined in header ‘<stdint.h>’; this is probably fixable by adding ‘#include <stdint.h>’
[  104s] src/stalld.h:24:5: error: unknown type name ‘uint64_t’
[  104s]    24 |     uint64_t sched_period;
[  104s]       |     ^~~~~~~~
[  104s] src/stalld.h:24:5: note: ‘uint64_t’ is defined in header ‘<stdint.h>’; this is probably fixable by adding ‘#include <stdint.h>’
[  104s] src/stalld.h:29:5: error: unknown type name ‘regex_t’
[  104s]    29 |     regex_t *compiled_expr;
[  104s]       |     ^~~~~~~
[  104s] src/stalld.h:40:43: error: unknown type name ‘regex_t’
[  104s]    40 | void cleanup_regex(unsigned int *nr_task, regex_t **compiled_expr);
[  104s]       |                                           ^~~~~~~
[  104s] src/utils.c: In function ‘cleanup_regex’:
[  104s] src/utils.c:9:9: error: implicit declaration of function ‘free’ [-Wimplicit-function-declaration]
[  104s]     9 |         free(*compiled_expr);
[  104s]       |         ^~~~
[  104s] src/utils.c:3:1: note: include ‘<stdlib.h>’ or provide a declaration of ‘free’
[  104s]     2 | #include <regex.h>
[  104s]   +++ |+#include <stdlib.h>
[  104s]     3 | 
[  104s] src/utils.c:9:9: warning: incompatible implicit declaration of built-in function ‘free’ [-Wbuiltin-declaration-mismatch]
[  104s]     9 |         free(*compiled_expr);
[  104s]       |         ^~~~
[  104s] src/utils.c:9:9: note: include ‘<stdlib.h>’ or provide a declaration of ‘free’
[  104s] make: *** [<builtin>: src/utils.o] Error 1
[  104s] make: *** Waiting for unfinished jobs....
[  104s] gcc -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DVERSION=\"1.19.3\"   -c -o src/sched_debug.o src/sched_debug.c
[  104s] src/sched_debug.c: In function ‘sched_debug_get’:
[  104s] src/sched_debug.c:36:19: error: ‘config_sched_debug_path’ undeclared (first use in this function)
[  104s]    36 |         fd = open(config_sched_debug_path, O_RDONLY);
[  104s]       |                   ^~~~~~~~~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:36:19: note: each undeclared identifier is reported only once for each function it appears in
[  104s] src/sched_debug.c:52:30: error: ‘config_buffer_size’ undeclared (first use in this function)
[  104s]    52 |         if (position + 100 > config_buffer_size) {
[  104s]       |                              ^~~~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:54:17: error: implicit declaration of function ‘log_msg’ [-Wimplicit-function-declaration]
[  104s]    54 |                 log_msg("sched_debug is getting larger, increasing the buffer to %zu\n", config_buffer_size);
[  104s]       |                 ^~~~~~~
[  104s] src/sched_debug.c: In function ‘detect_task_format’:
[  104s] src/sched_debug.c:171:33: error: ‘BUFFER_PAGES’ undeclared (first use in this function)
[  104s]   171 |         bufsiz = bufincrement = BUFFER_PAGES * page_size;
[  104s]       |                                 ^~~~~~~~~~~~
[  104s] src/sched_debug.c:171:48: error: ‘page_size’ undeclared (first use in this function); did you mean ‘getpagesize’?
[  104s]   171 |         bufsiz = bufincrement = BUFFER_PAGES * page_size;
[  104s]       |                                                ^~~~~~~~~
[  104s]       |                                                getpagesize
[  104s] src/sched_debug.c:176:17: error: implicit declaration of function ‘die’; did you mean ‘div’? [-Wimplicit-function-declaration]
[  104s]   176 |                 die("unable to allocate %d bytes to read sched_debug");
[  104s]       |                 ^~~
[  104s]       |                 div
[  104s] src/sched_debug.c:178:24: error: ‘config_sched_debug_path’ undeclared (first use in this function)
[  104s]   178 |         if ((fd = open(config_sched_debug_path, O_RDONLY)) < 0)
[  104s]       |                        ^~~~~~~~~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:196:9: error: ‘config_buffer_size’ undeclared (first use in this function)
[  104s]   196 |         config_buffer_size = bufsiz;
[  104s]       |         ^~~~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c: At top level:
[  104s] src/sched_debug.c:228:55: warning: ‘struct task_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   228 | static int parse_new_task_format(char *buffer, struct task_info *task_info, int nr_entries)
[  104s]       |                                                       ^~~~~~~~~
[  104s] src/sched_debug.c: In function ‘parse_new_task_format’:
[  104s] src/sched_debug.c:244:34: error: invalid use of undefined type ‘struct task_info’
[  104s]   244 |                 task = &task_info[tasks];
[  104s]       |                                  ^
[  104s] src/sched_debug.c:278:34: error: ‘COMM_SIZE’ undeclared (first use in this function)
[  104s]   278 |                 if (comm_size >= COMM_SIZE) {
[  104s]       |                                  ^~~~~~~~~
[  104s] src/sched_debug.c:279:25: error: implicit declaration of function ‘warn’ [-Wimplicit-function-declaration]
[  104s]   279 |                         warn("comm_size is too large: %d\n", comm_size);
[  104s]       |                         ^~~~
[  104s] src/sched_debug.c:283:29: error: invalid use of undefined type ‘struct task_info’
[  104s]   283 |                 strncpy(task->comm, start, comm_size);
[  104s]       |                             ^~
[  104s] src/sched_debug.c:285:21: error: invalid use of undefined type ‘struct task_info’
[  104s]   285 |                 task->comm[comm_size] = '\0';
[  104s]       |                     ^~
[  104s] src/sched_debug.c:290:21: error: invalid use of undefined type ‘struct task_info’
[  104s]   290 |                 task->pid = strtol(start, &end, 10);
[  104s]       |                     ^~
[  104s] src/sched_debug.c:293:21: error: invalid use of undefined type ‘struct task_info’
[  104s]   293 |                 task->tgid = get_tgid(task->pid);
[  104s]       |                     ^~
[  104s] src/sched_debug.c:293:30: error: implicit declaration of function ‘get_tgid’; did you mean ‘gettid’? [-Wimplicit-function-declaration]
[  104s]   293 |                 task->tgid = get_tgid(task->pid);
[  104s]       |                              ^~~~~~~~
[  104s]       |                              gettid
[  104s] src/sched_debug.c:293:43: error: invalid use of undefined type ‘struct task_info’
[  104s]   293 |                 task->tgid = get_tgid(task->pid);
[  104s]       |                                           ^~
[  104s] src/sched_debug.c:302:21: error: invalid use of undefined type ‘struct task_info’
[  104s]   302 |                 task->ctxsw = strtol(start, &end, 10);
[  104s]       |                     ^~
[  104s] src/sched_debug.c:306:21: error: invalid use of undefined type ‘struct task_info’
[  104s]   306 |                 task->prio = strtol(start, &end, 10);
[  104s]       |                     ^~
[  104s] src/sched_debug.c:308:21: error: invalid use of undefined type ‘struct task_info’
[  104s]   308 |                 task->since = time(NULL);
[  104s]       |                     ^~
[  104s] src/sched_debug.c: At top level:
[  104s] src/sched_debug.c:421:55: warning: ‘struct task_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   421 | static int parse_old_task_format(char *buffer, struct task_info *task_info, int nr_entries)
[  104s]       |                                                       ^~~~~~~~~
[  104s] src/sched_debug.c: In function ‘parse_old_task_format’:
[  104s] src/sched_debug.c:426:19: error: ‘COMM_SIZE’ undeclared (first use in this function)
[  104s]   426 |         char comm[COMM_SIZE];
[  104s]       |                   ^~~~~~~~~
[  104s] src/sched_debug.c:441:34: error: invalid use of undefined type ‘struct task_info’
[  104s]   441 |                 task = &task_info[waiting_tasks];
[  104s]       |                                  ^
[  104s] src/sched_debug.c:482:37: error: invalid use of undefined type ‘struct task_info’
[  104s]   482 |                         strncpy(task->comm, comm, comm_size);
[  104s]       |                                     ^~
[  104s] src/sched_debug.c:483:29: error: invalid use of undefined type ‘struct task_info’
[  104s]   483 |                         task->comm[comm_size] = 0;
[  104s]       |                             ^~
[  104s] src/sched_debug.c:484:29: error: invalid use of undefined type ‘struct task_info’
[  104s]   484 |                         task->pid = pid;
[  104s]       |                             ^~
[  104s] src/sched_debug.c:485:29: error: invalid use of undefined type ‘struct task_info’
[  104s]   485 |                         task->tgid = get_tgid(task->pid);
[  104s]       |                             ^~
[  104s] src/sched_debug.c:485:51: error: invalid use of undefined type ‘struct task_info’
[  104s]   485 |                         task->tgid = get_tgid(task->pid);
[  104s]       |                                                   ^~
[  104s] src/sched_debug.c:486:29: error: invalid use of undefined type ‘struct task_info’
[  104s]   486 |                         task->ctxsw = ctxsw;
[  104s]       |                             ^~
[  104s] src/sched_debug.c:487:29: error: invalid use of undefined type ‘struct task_info’
[  104s]   487 |                         task->prio = prio;
[  104s]       |                             ^~
[  104s] src/sched_debug.c:488:29: error: invalid use of undefined type ‘struct task_info’
[  104s]   488 |                         task->since = time(NULL);
[  104s]       |                             ^~
[  104s] src/sched_debug.c:426:14: warning: unused variable ‘comm’ [-Wunused-variable]
[  104s]   426 |         char comm[COMM_SIZE];
[  104s]       |              ^~~~
[  104s] src/sched_debug.c: At top level:
[  104s] src/sched_debug.c:503:51: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   503 | static int fill_waiting_task(char *buffer, struct cpu_info *cpu_info)
[  104s]       |                                                   ^~~~~~~~
[  104s] src/sched_debug.c: In function ‘fill_waiting_task’:
[  104s] src/sched_debug.c:512:30: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   512 |         nr_entries = cpu_info->nr_running;
[  104s]       |                              ^~
[  104s] src/sched_debug.c:516:25: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   516 |                 cpu_info->starving = malloc(sizeof(struct task_info) * nr_entries);
[  104s]       |                         ^~
[  104s] src/sched_debug.c:516:52: error: invalid application of ‘sizeof’ to incomplete type ‘struct task_info’
[  104s]   516 |                 cpu_info->starving = malloc(sizeof(struct task_info) * nr_entries);
[  104s]       |                                                    ^~~~~~
[  104s] src/sched_debug.c:517:29: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   517 |                 if (cpu_info->starving == NULL) {
[  104s]       |                             ^~
[  104s] src/sched_debug.c:521:68: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   521 |                 nr_waiting = parse_new_task_format(buffer, cpu_info->starving, nr_entries);
[  104s]       |                                                                    ^~
[  104s] src/sched_debug.c:532:25: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   532 |                 cpu_info->starving = malloc(sizeof(struct task_info) * nr_entries);
[  104s]       |                         ^~
[  104s] src/sched_debug.c:532:52: error: invalid application of ‘sizeof’ to incomplete type ‘struct task_info’
[  104s]   532 |                 cpu_info->starving = malloc(sizeof(struct task_info) * nr_entries);
[  104s]       |                                                    ^~~~~~
[  104s] src/sched_debug.c:533:29: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   533 |                 if (cpu_info->starving == NULL) {
[  104s]       |                             ^~
[  104s] src/sched_debug.c:537:68: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   537 |                 nr_waiting = parse_old_task_format(buffer, cpu_info->starving, nr_entries);
[  104s]       |                                                                    ^~
[  104s] src/sched_debug.c: At top level:
[  104s] src/sched_debug.c:545:37: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   545 | static int sched_debug_parse(struct cpu_info *cpu_info, char *buffer, size_t buffer_size)
[  104s]       |                                     ^~~~~~~~
[  104s] src/sched_debug.c: In function ‘sched_debug_parse’:
[  104s] src/sched_debug.c:548:47: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   548 |         struct task_info *old_tasks = cpu_info->starving;
[  104s]       |                                               ^~
[  104s] src/sched_debug.c:549:36: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   549 |         int nr_old_tasks = cpu_info->nr_waiting_tasks;
[  104s]       |                                    ^~
[  104s] src/sched_debug.c:551:27: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   551 |         int cpu = cpu_info->id;
[  104s]       |                           ^~
[  104s] src/sched_debug.c:563:25: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   563 |                 cpu_info->nr_waiting_tasks = 0;
[  104s]       |                         ^~
[  104s] src/sched_debug.c:564:25: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   564 |                 cpu_info->nr_running = 0;
[  104s]       |                         ^~
[  104s] src/sched_debug.c:565:25: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   565 |                 cpu_info->nr_rt_running = 0;
[  104s]       |                         ^~
[  104s] src/sched_debug.c:566:25: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   566 |                 cpu_info->starving = 0;
[  104s]       |                         ^~
[  104s] src/sched_debug.c:576:30: error: implicit declaration of function ‘get_variable_long_value’ [-Wimplicit-function-declaration]
[  104s]   576 |                 nr_running = get_variable_long_value(cpu_buffer, ".nr_running");
[  104s]       |                              ^~~~~~~~~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:584:17: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   584 |         cpu_info->nr_running = nr_running;
[  104s]       |                 ^~
[  104s] src/sched_debug.c:585:17: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   585 |         cpu_info->nr_rt_running = nr_rt_running;
[  104s]       |                 ^~
[  104s] src/sched_debug.c:587:17: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   587 |         cpu_info->nr_waiting_tasks = fill_waiting_task(cpu_buffer, cpu_info);
[  104s]       |                 ^~
[  104s] src/sched_debug.c:587:68: error: passing argument 2 of ‘fill_waiting_task’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   587 |         cpu_info->nr_waiting_tasks = fill_waiting_task(cpu_buffer, cpu_info);
[  104s]       |                                                                    ^~~~~~~~
[  104s]       |                                                                    |
[  104s]       |                                                                    struct cpu_info *
[  104s] src/sched_debug.c:503:61: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   503 | static int fill_waiting_task(char *buffer, struct cpu_info *cpu_info)
[  104s]       |                                            ~~~~~~~~~~~~~~~~~^~~~~~~~
[  104s] src/sched_debug.c:589:17: error: implicit declaration of function ‘merge_taks_info’ [-Wimplicit-function-declaration]
[  104s]   589 |                 merge_taks_info(cpu_info->id, old_tasks, nr_old_tasks, cpu_info->starving, cpu_info->nr_waiting_tasks);
[  104s]       |                 ^~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:589:41: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   589 |                 merge_taks_info(cpu_info->id, old_tasks, nr_old_tasks, cpu_info->starving, cpu_info->nr_waiting_tasks);
[  104s]       |                                         ^~
[  104s] src/sched_debug.c:589:80: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   589 |                 merge_taks_info(cpu_info->id, old_tasks, nr_old_tasks, cpu_info->starving, cpu_info->nr_waiting_tasks);
[  104s]       |                                                                                ^~
[  104s] src/sched_debug.c:589:100: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   589 |                 merge_taks_info(cpu_info->id, old_tasks, nr_old_tasks, cpu_info->starving, cpu_info->nr_waiting_tasks);
[  104s]       |                                                                                                    ^~
[  104s] src/sched_debug.c: At top level:
[  104s] src/sched_debug.c:599:49: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   599 | static int sched_debug_has_starving_task(struct cpu_info *cpu)
[  104s]       |                                                 ^~~~~~~~
[  104s] src/sched_debug.c: In function ‘sched_debug_has_starving_task’:
[  104s] src/sched_debug.c:602:29: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   602 |                 return !!cpu->nr_rt_running;
[  104s]       |                             ^~
[  104s] src/sched_debug.c:604:27: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   604 |                 return cpu->nr_waiting_tasks;
[  104s]       |                           ^~
[  104s] src/sched_debug.c: In function ‘sched_debug_init’:
[  104s] src/sched_debug.c:609:9: error: implicit declaration of function ‘find_sched_debug_path’ [-Wimplicit-function-declaration]
[  104s]   609 |         find_sched_debug_path();
[  104s]       |         ^~~~~~~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c: At top level:
[  104s] src/sched_debug.c:619:8: error: variable ‘sched_debug_backend’ has initializer but incomplete type
[  104s]   619 | struct stalld_backend sched_debug_backend = {
[  104s]       |        ^~~~~~~~~~~~~~
[  104s] src/sched_debug.c:620:10: error: ‘struct stalld_backend’ has no member named ‘init’
[  104s]   620 |         .init                   = sched_debug_init,
[  104s]       |          ^~~~
[  104s] src/sched_debug.c:620:35: warning: excess elements in struct initializer
[  104s]   620 |         .init                   = sched_debug_init,
[  104s]       |                                   ^~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:620:35: note: (near initialization for ‘sched_debug_backend’)
[  104s] src/sched_debug.c:621:10: error: ‘struct stalld_backend’ has no member named ‘get’
[  104s]   621 |         .get                    = sched_debug_get,
[  104s]       |          ^~~
[  104s] src/sched_debug.c:621:35: warning: excess elements in struct initializer
[  104s]   621 |         .get                    = sched_debug_get,
[  104s]       |                                   ^~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:621:35: note: (near initialization for ‘sched_debug_backend’)
[  104s] src/sched_debug.c:622:10: error: ‘struct stalld_backend’ has no member named ‘parse’
[  104s]   622 |         .parse                  = sched_debug_parse,
[  104s]       |          ^~~~~
[  104s] src/sched_debug.c:622:35: warning: excess elements in struct initializer
[  104s]   622 |         .parse                  = sched_debug_parse,
[  104s]       |                                   ^~~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:622:35: note: (near initialization for ‘sched_debug_backend’)
[  104s] src/sched_debug.c:623:10: error: ‘struct stalld_backend’ has no member named ‘has_starving_task’
[  104s]   623 |         .has_starving_task      = sched_debug_has_starving_task,
[  104s]       |          ^~~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:623:35: warning: excess elements in struct initializer
[  104s]   623 |         .has_starving_task      = sched_debug_has_starving_task,
[  104s]       |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:623:35: note: (near initialization for ‘sched_debug_backend’)
[  104s] src/sched_debug.c:624:10: error: ‘struct stalld_backend’ has no member named ‘destroy’
[  104s]   624 |         .destroy                = sched_debug_destroy,
[  104s]       |          ^~~~~~~
[  104s] src/sched_debug.c:624:35: warning: excess elements in struct initializer
[  104s]   624 |         .destroy                = sched_debug_destroy,
[  104s]       |                                   ^~~~~~~~~~~~~~~~~~~
[  104s] src/sched_debug.c:624:35: note: (near initialization for ‘sched_debug_backend’)
[  104s] src/sched_debug.c:619:23: error: storage size of ‘sched_debug_backend’ isn’t known
[  104s]   619 | struct stalld_backend sched_debug_backend = {
[  104s]       |                       ^~~~~~~~~~~~~~~~~~~
[  104s] make: *** [<builtin>: src/sched_debug.o] Error 1
[  104s] gcc -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DVERSION=\"1.19.3\"   -c -o src/throttling.o src/throttling.c
[  104s] In file included from src/throttling.c:31:
[  104s] src/stalld.h:25:1: error: redefinition of struct or union ‘struct sched_attr’
[  104s]    25 | };
[  104s]       | ^
[  104s] In file included from /usr/include/bits/sched.h:63,
[  104s]                  from /usr/include/sched.h:43,
[  104s]                  from /usr/include/pthread.h:22,
[  104s]                  from src/throttling.c:14:
[  104s] /usr/include/linux/sched/types.h:98:8: note: originally defined here
[  104s]    98 | struct sched_attr {
[  104s]       |        ^~~~~~~~~~
[  104s] src/stalld.h:32:19: error: conflicting types for ‘sched_setattr’; have ‘int(pid_t,  const struct sched_attr *, unsigned int)’ {aka ‘int(int,  const struct sched_attr *, unsigned int)’}
[  104s]    32 | static inline int sched_setattr(pid_t pid, const struct sched_attr *attr, unsigned int flags) {
[  104s]       |                   ^~~~~~~~~~~~~
[  104s] /usr/include/bits/sched.h:148:5: note: previous declaration of ‘sched_setattr’ with type ‘int(pid_t,  struct sched_attr *, unsigned int)’ {aka ‘int(int,  struct sched_attr *, unsigned int)’}
[  104s]   148 | int sched_setattr (pid_t tid, struct sched_attr *attr, unsigned int flags)
[  104s]       |     ^~~~~~~~~~~~~
[  104s] src/stalld.h:36:19: error: conflicting types for ‘sched_getattr’; have ‘int(pid_t,  struct sched_attr *, unsigned int,  unsigned int)’ {aka ‘int(int,  struct sched_attr *, unsigned int,  unsigned int)’}
[  104s]    36 | static inline int sched_getattr(pid_t pid, struct sched_attr *attr, unsigned int size, unsigned int flags) {
[  104s]       |                   ^~~~~~~~~~~~~
[  104s] /usr/include/bits/sched.h:153:5: note: previous declaration of ‘sched_getattr’ with type ‘int(pid_t,  struct sched_attr *, unsigned int,  unsigned int)’ {aka ‘int(int,  struct sched_attr *, unsigned int,  unsigned int)’}
[  104s]   153 | int sched_getattr (pid_t tid, struct sched_attr *attr, unsigned int size,
[  104s]       |     ^~~~~~~~~~~~~
[  104s] src/throttling.c: In function ‘restore_rt_throttling’:
[  104s] src/throttling.c:46:25: error: implicit declaration of function ‘die’; did you mean ‘div’? [-Wimplicit-function-declaration]
[  104s]    46 |                         die("failed to open %s\n", RT_RUNTIME_PATH);
[  104s]       |                         ^~~
[  104s]       |                         div
[  104s] src/throttling.c:52:25: error: implicit declaration of function ‘warn’ [-Wimplicit-function-declaration]
[  104s]    52 |                         warn("error restoring rt throttling");
[  104s]       |                         ^~~~
[  104s] src/throttling.c:55:17: error: implicit declaration of function ‘log_msg’ [-Wimplicit-function-declaration]
[  104s]    55 |                 log_msg("RT Throttling runtime restored to %ld\n", rt_runtime_us);
[  104s]       |                 ^~~~~~~
[  104s] make: *** [<builtin>: src/throttling.o] Error 1
[  104s] gcc -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -DVERSION=\"1.19.3\"   -c -o src/stalld.o src/stalld.c
[  104s] In file included from src/stalld.c:39:
[  104s] src/stalld.h:25:1: error: redefinition of struct or union ‘struct sched_attr’
[  104s]    25 | };
[  104s]       | ^
[  104s] In file included from /usr/include/bits/sched.h:63,
[  104s]                  from /usr/include/sched.h:43,
[  104s]                  from /usr/include/pthread.h:22,
[  104s]                  from src/stalld.c:22:
[  104s] /usr/include/linux/sched/types.h:98:8: note: originally defined here
[  104s]    98 | struct sched_attr {
[  104s]       |        ^~~~~~~~~~
[  104s] src/stalld.h:29:5: error: unknown type name ‘regex_t’; did you mean ‘gregset_t’?
[  104s]    29 |     regex_t *compiled_expr;
[  104s]       |     ^~~~~~~
[  104s]       |     gregset_t
[  104s] src/stalld.h:32:19: error: conflicting types for ‘sched_setattr’; have ‘int(pid_t,  const struct sched_attr *, unsigned int)’ {aka ‘int(int,  const struct sched_attr *, unsigned int)’}
[  104s]    32 | static inline int sched_setattr(pid_t pid, const struct sched_attr *attr, unsigned int flags) {
[  104s]       |                   ^~~~~~~~~~~~~
[  104s] /usr/include/bits/sched.h:148:5: note: previous declaration of ‘sched_setattr’ with type ‘int(pid_t,  struct sched_attr *, unsigned int)’ {aka ‘int(int,  struct sched_attr *, unsigned int)’}
[  104s]   148 | int sched_setattr (pid_t tid, struct sched_attr *attr, unsigned int flags)
[  104s]       |     ^~~~~~~~~~~~~
[  104s] src/stalld.h:36:19: error: conflicting types for ‘sched_getattr’; have ‘int(pid_t,  struct sched_attr *, unsigned int,  unsigned int)’ {aka ‘int(int,  struct sched_attr *, unsigned int,  unsigned int)’}
[  104s]    36 | static inline int sched_getattr(pid_t pid, struct sched_attr *attr, unsigned int size, unsigned int flags) {
[  104s]       |                   ^~~~~~~~~~~~~
[  104s] /usr/include/bits/sched.h:153:5: note: previous declaration of ‘sched_getattr’ with type ‘int(pid_t,  struct sched_attr *, unsigned int,  unsigned int)’ {aka ‘int(int,  struct sched_attr *, unsigned int,  unsigned int)’}
[  104s]   153 | int sched_getattr (pid_t tid, struct sched_attr *attr, unsigned int size,
[  104s]       |     ^~~~~~~~~~~~~
[  104s] src/stalld.h:40:43: error: unknown type name ‘regex_t’; did you mean ‘gregset_t’?
[  104s]    40 | void cleanup_regex(unsigned int *nr_task, regex_t **compiled_expr);
[  104s]       |                                           ^~~~~~~
[  104s]       |                                           gregset_t
[  104s] src/stalld.c:140:1: error: unknown type name ‘regex_t’; did you mean ‘gregset_t’?
[  104s]   140 | regex_t *compiled_regex_thread = NULL;
[  104s]       | ^~~~~~~
[  104s]       | gregset_t
[  104s] src/stalld.c:146:1: error: unknown type name ‘regex_t’; did you mean ‘gregset_t’?
[  104s]   146 | regex_t *compiled_regex_process = NULL;
[  104s]       | ^~~~~~~
[  104s]       | gregset_t
[  104s] src/stalld.c: In function ‘get_tgid’:
[  104s] src/stalld.c:173:31: error: ‘TGID_FIELD’ undeclared (first use in this function)
[  104s]   173 |         const char tgid_field[TGID_FIELD] = "Tgid:";
[  104s]       |                               ^~~~~~~~~~
[  104s] src/stalld.c:173:31: note: each undeclared identifier is reported only once for each function it appears in
[  104s] src/stalld.c:174:28: error: ‘PROC_PID_FILE_PATH_LEN’ undeclared (first use in this function)
[  104s]   174 |         char file_location[PROC_PID_FILE_PATH_LEN];
[  104s]       |                            ^~~~~~~~~~~~~~~~~~~~~~
[  104s] src/stalld.c:179:25: error: ‘TMP_BUFFER_SIZE’ undeclared (first use in this function)
[  104s]   179 |         status = calloc(TMP_BUFFER_SIZE, sizeof(char));
[  104s]       |                         ^~~~~~~~~~~~~~~
[  104s] src/stalld.c:174:14: warning: unused variable ‘file_location’ [-Wunused-variable]
[  104s]   174 |         char file_location[PROC_PID_FILE_PATH_LEN];
[  104s]       |              ^~~~~~~~~~~~~
[  104s] src/stalld.c:173:20: warning: unused variable ‘tgid_field’ [-Wunused-variable]
[  104s]   173 |         const char tgid_field[TGID_FIELD] = "Tgid:";
[  104s]       |                    ^~~~~~~~~~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:318:30: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   318 | int cpu_had_idle_time(struct cpu_info *cpu_info)
[  104s]       |                              ^~~~~~~~
[  104s] src/stalld.c: In function ‘cpu_had_idle_time’:
[  104s] src/stalld.c:324:17: error: implicit declaration of function ‘warn’ [-Wimplicit-function-declaration]
[  104s]   324 |                 warn("fail reading sched stat file");
[  104s]       |                 ^~~~
[  104s] src/stalld.c:330:74: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   330 |         idle_time = get_cpu_idle_time(sched_stat, STAT_MAX_SIZE, cpu_info->id);
[  104s]       |                                                                          ^~
[  104s] src/stalld.c:333:79: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   333 |                         warn("unable to parse idle time for cpu%d\n", cpu_info->id);
[  104s]       |                                                                               ^~
[  104s] src/stalld.c:341:21: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   341 |         if (cpu_info->idle_time == idle_time)
[  104s]       |                     ^~
[  104s] src/stalld.c:345:17: error: implicit declaration of function ‘log_msg’ [-Wimplicit-function-declaration]
[  104s]   345 |                 log_msg("last idle time: %ld curr idle time:%ld ", cpu_info->idle_time, idle_time);
[  104s]       |                 ^~~~~~~
[  104s] src/stalld.c:345:76: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   345 |                 log_msg("last idle time: %ld curr idle time:%ld ", cpu_info->idle_time, idle_time);
[  104s]       |                                                                            ^~
[  104s] src/stalld.c:350:17: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   350 |         cpu_info->idle_time = idle_time;
[  104s]       |                 ^~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:355:30: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   355 | int get_cpu_busy_list(struct cpu_info *cpus, int nr_cpus, char *busy_cpu_list)
[  104s]       |                              ^~~~~~~~
[  104s] src/stalld.c: In function ‘get_cpu_busy_list’:
[  104s] src/stalld.c:373:28: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   373 |                 cpu = &cpus[i];
[  104s]       |                            ^
[  104s] src/stalld.c:375:24: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   375 |                 if (cpu->thread_running) {
[  104s]       |                        ^~
[  104s] src/stalld.c:377:97: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   377 |                                 log_msg("\t cpu %d has its own monitor, considering idle\n", cpu->id);
[  104s]       |                                                                                                 ^~
[  104s] src/stalld.c:381:77: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   381 |                 idle_time = get_cpu_idle_time(sched_stat, STAT_MAX_SIZE, cpu->id);
[  104s]       |                                                                             ^~
[  104s] src/stalld.c:384:82: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   384 |                                 warn("unable to parse idle time for cpu%d\n", cpu->id);
[  104s]       |                                                                                  ^~
[  104s] src/stalld.c:389:87: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   389 |                         log_msg ("\t cpu %d had %ld idle time, and now has %ld\n", cpu->id, cpu->idle_time, idle_time);
[  104s]       |                                                                                       ^~
[  104s] src/stalld.c:389:96: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   389 |                         log_msg ("\t cpu %d had %ld idle time, and now has %ld\n", cpu->id, cpu->idle_time, idle_time);
[  104s]       |                                                                                                ^~
[  104s] src/stalld.c:392:24: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   392 |                 if (cpu->idle_time == idle_time) {
[  104s]       |                        ^~
[  104s] src/stalld.c:398:20: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   398 |                 cpu->idle_time = idle_time;
[  104s]       |                    ^~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:404:33: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   404 | void print_waiting_tasks(struct cpu_info *cpu_info)
[  104s]       |                                 ^~~~~~~~
[  104s] src/stalld.c: In function ‘print_waiting_tasks’:
[  104s] src/stalld.c:410:57: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   410 |         printf("CPU %d has %d waiting tasks\n", cpu_info->id, cpu_info->nr_waiting_tasks);
[  104s]       |                                                         ^~
[  104s] src/stalld.c:410:71: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   410 |         printf("CPU %d has %d waiting tasks\n", cpu_info->id, cpu_info->nr_waiting_tasks);
[  104s]       |                                                                       ^~
[  104s] src/stalld.c:411:22: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   411 |         if (!cpu_info->nr_waiting_tasks)
[  104s]       |                      ^~
[  104s] src/stalld.c:414:33: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   414 |         for (i = 0; i < cpu_info->nr_waiting_tasks; i++) {
[  104s]       |                                 ^~
[  104s] src/stalld.c:415:33: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   415 |                 task = &cpu_info->starving[i];
[  104s]       |                                 ^~
[  104s] src/stalld.c:417:55: error: invalid use of undefined type ‘struct task_info’
[  104s]   417 |                 printf("%15s %9d %9d %9d %9ld\n", task->comm, task->pid, task->prio, task->ctxsw, (now - task->since));
[  104s]       |                                                       ^~
[  104s] src/stalld.c:417:67: error: invalid use of undefined type ‘struct task_info’
[  104s]   417 |                 printf("%15s %9d %9d %9d %9ld\n", task->comm, task->pid, task->prio, task->ctxsw, (now - task->since));
[  104s]       |                                                                   ^~
[  104s] src/stalld.c:417:78: error: invalid use of undefined type ‘struct task_info’
[  104s]   417 |                 printf("%15s %9d %9d %9d %9ld\n", task->comm, task->pid, task->prio, task->ctxsw, (now - task->since));
[  104s]       |                                                                              ^~
[  104s] src/stalld.c:417:90: error: invalid use of undefined type ‘struct task_info’
[  104s]   417 |                 printf("%15s %9d %9d %9d %9ld\n", task->comm, task->pid, task->prio, task->ctxsw, (now - task->since));
[  104s]       |                                                                                          ^~
[  104s] src/stalld.c:417:110: error: invalid use of undefined type ‘struct task_info’
[  104s]   417 |                 printf("%15s %9d %9d %9d %9ld\n", task->comm, task->pid, task->prio, task->ctxsw, (now - task->since));
[  104s]       |                                                                                                              ^~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:425:26: error: field ‘task’ has incomplete type
[  104s]   425 |         struct task_info task;
[  104s]       |                          ^~~~
[  104s] src/stalld.c: In function ‘update_cpu_starving_vector’:
[  104s] src/stalld.c:450:56: error: invalid application of ‘sizeof’ to incomplete type ‘struct task_info’
[  104s]   450 |                 memcpy(&(cpu_info->task), task, sizeof(struct task_info));
[  104s]       |                                                        ^~~~~~
[  104s] src/stalld.c: In function ‘merge_taks_info’:
[  104s] src/stalld.c:465:38: error: invalid use of undefined type ‘struct task_info’
[  104s]   465 |                 old_task = &old_tasks[i];
[  104s]       |                                      ^
[  104s] src/stalld.c:468:46: error: invalid use of undefined type ‘struct task_info’
[  104s]   468 |                         new_task = &new_tasks[j];
[  104s]       |                                              ^
[  104s] src/stalld.c:470:37: error: invalid use of undefined type ‘struct task_info’
[  104s]   470 |                         if (old_task->pid == new_task->pid) {
[  104s]       |                                     ^~
[  104s] src/stalld.c:470:54: error: invalid use of undefined type ‘struct task_info’
[  104s]   470 |                         if (old_task->pid == new_task->pid) {
[  104s]       |                                                      ^~
[  104s] src/stalld.c:471:45: error: invalid use of undefined type ‘struct task_info’
[  104s]   471 |                                 if (old_task->ctxsw == new_task->ctxsw) {
[  104s]       |                                             ^~
[  104s] src/stalld.c:471:64: error: invalid use of undefined type ‘struct task_info’
[  104s]   471 |                                 if (old_task->ctxsw == new_task->ctxsw) {
[  104s]       |                                                                ^~
[  104s] src/stalld.c:472:49: error: invalid use of undefined type ‘struct task_info’
[  104s]   472 |                                         new_task->since = old_task->since;
[  104s]       |                                                 ^~
[  104s] src/stalld.c:472:67: error: invalid use of undefined type ‘struct task_info’
[  104s]   472 |                                         new_task->since = old_task->since;
[  104s]       |                                                                   ^~
[  104s] src/stalld.c:474:89: error: invalid use of undefined type ‘struct task_info’
[  104s]   474 |                                                 update_cpu_starving_vector(cpu, new_task->tgid, new_task->pid, new_task->since, new_task);
[  104s]       |                                                                                         ^~
[  104s] src/stalld.c:474:105: error: invalid use of undefined type ‘struct task_info’
[  104s]   474 |                                                 update_cpu_starving_vector(cpu, new_task->tgid, new_task->pid, new_task->since, new_task);
[  104s]       |                                                                                                         ^~
[  104s] src/stalld.c:474:120: error: invalid use of undefined type ‘struct task_info’
[  104s]   474 |                                                 update_cpu_starving_vector(cpu, new_task->tgid, new_task->pid, new_task->since, new_task);
[  104s]       |                                                                                                                        ^~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:492:51: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   492 | void print_boosted_info(int tgid, int pid, struct cpu_info *cpu, char *type)
[  104s]       |                                                   ^~~~~~~~
[  104s] src/stalld.c: In function ‘print_boosted_info’:
[  104s] src/stalld.c:494:19: error: ‘COMM_SIZE’ undeclared (first use in this function)
[  104s]   494 |         char comm[COMM_SIZE];
[  104s]       |                   ^~~~~~~~~
[  104s] src/stalld.c:496:9: error: implicit declaration of function ‘fill_process_comm’ [-Wimplicit-function-declaration]
[  104s]   496 |         fill_process_comm(tgid, pid, comm, COMM_SIZE);
[  104s]       |         ^~~~~~~~~~~~~~~~~
[  104s] src/stalld.c:499:82: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   499 |                 log_msg("boosted pid %d (%s) (cpu %d) using %s\n", pid, comm, cpu->id, type);
[  104s]       |                                                                                  ^~
[  104s] src/stalld.c:494:14: warning: unused variable ‘comm’ [-Wunused-variable]
[  104s]   494 |         char comm[COMM_SIZE];
[  104s]       |              ^~~~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:504:51: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   504 | int boost_with_deadline(int tgid, int pid, struct cpu_info *cpu)
[  104s]       |                                                   ^~~~~~~~
[  104s] src/stalld.c: In function ‘boost_with_deadline’:
[  104s] src/stalld.c:523:39: error: passing argument 3 of ‘print_boosted_info’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   523 |         print_boosted_info(tgid, pid, cpu, "SCHED_DEADLINE");
[  104s]       |                                       ^~~
[  104s]       |                                       |
[  104s]       |                                       struct cpu_info *
[  104s] src/stalld.c:492:61: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   492 | void print_boosted_info(int tgid, int pid, struct cpu_info *cpu, char *type)
[  104s]       |                                            ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:527:47: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   527 | int boost_with_fifo(int tgid, int pid, struct cpu_info *cpu)
[  104s]       |                                               ^~~~~~~~
[  104s] src/stalld.c: In function ‘boost_with_fifo’:
[  104s] src/stalld.c:544:39: error: passing argument 3 of ‘print_boosted_info’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   544 |         print_boosted_info(tgid, pid, cpu, "SCHED_FIFO");
[  104s]       |                                       ^~~
[  104s]       |                                       |
[  104s]       |                                       struct cpu_info *
[  104s] src/stalld.c:492:61: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   492 | void print_boosted_info(int tgid, int pid, struct cpu_info *cpu, char *type)
[  104s]       |                                            ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:566:75: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   566 | void do_fifo_boost(int tgid, int pid, struct sched_attr *old_attr, struct cpu_info *cpu)
[  104s]       |                                                                           ^~~~~~~~
[  104s] src/stalld.c: In function ‘do_fifo_boost’:
[  104s] src/stalld.c:568:56: error: ‘NS_PER_SEC’ undeclared (first use in this function)
[  104s]   568 |         uint64_t nr_periods = (config_boost_duration * NS_PER_SEC) / config_dl_period;
[  104s]       |                                                        ^~~~~~~~~~
[  104s] src/stalld.c:577:9: error: implicit declaration of function ‘normalize_timespec’ [-Wimplicit-function-declaration]
[  104s]   577 |         normalize_timespec(&runtime_ts);
[  104s]       |         ^~~~~~~~~~~~~~~~~~
[  104s] src/stalld.c:585:44: error: passing argument 3 of ‘boost_with_fifo’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   585 |                 boost_with_fifo(tgid, pid, cpu);
[  104s]       |                                            ^~~
[  104s]       |                                            |
[  104s]       |                                            struct cpu_info *
[  104s] src/stalld.c:527:57: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   527 | int boost_with_fifo(int tgid, int pid, struct cpu_info *cpu)
[  104s]       |                                        ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:594:51: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   594 | int boost_starving_task(int tgid, int pid, struct cpu_info *cpu)
[  104s]       |                                                   ^~~~~~~~
[  104s] src/stalld.c: In function ‘boost_starving_task’:
[  104s] src/stalld.c:609:54: error: passing argument 3 of ‘boost_with_deadline’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   609 |                 ret = boost_with_deadline(tgid, pid, cpu);
[  104s]       |                                                      ^~~
[  104s]       |                                                      |
[  104s]       |                                                      struct cpu_info *
[  104s] src/stalld.c:504:61: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   504 | int boost_with_deadline(int tgid, int pid, struct cpu_info *cpu)
[  104s]       |                                            ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c:617:49: error: passing argument 4 of ‘do_fifo_boost’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   617 |                 do_fifo_boost(tgid, pid, &attr, cpu);
[  104s]       |                                                 ^~~
[  104s]       |                                                 |
[  104s]       |                                                 struct cpu_info *
[  104s] src/stalld.c:566:85: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   566 | void do_fifo_boost(int tgid, int pid, struct sched_attr *old_attr, struct cpu_info *cpu)
[  104s]       |                                                                    ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c: In function ‘check_task_ignore’:
[  104s] src/stalld.c:637:25: error: ‘COMM_SIZE’ undeclared (first use in this function)
[  104s]   637 |         char group_comm[COMM_SIZE];
[  104s]       |                         ^~~~~~~~~
[  104s] src/stalld.c:646:23: error: implicit declaration of function ‘regexec’ [-Wimplicit-function-declaration]
[  104s]   646 |                 ret = regexec(&compiled_regex_thread[i], task->comm, REGEXEC_NO_NMATCH,
[  104s]       |                       ^~~~~~~
[  104s] src/stalld.c:646:62: error: invalid use of undefined type ‘struct task_info’
[  104s]   646 |                 ret = regexec(&compiled_regex_thread[i], task->comm, REGEXEC_NO_NMATCH,
[  104s]       |                                                              ^~
[  104s] src/stalld.c:646:70: error: ‘REGEXEC_NO_NMATCH’ undeclared (first use in this function)
[  104s]   646 |                 ret = regexec(&compiled_regex_thread[i], task->comm, REGEXEC_NO_NMATCH,
[  104s]       |                                                                      ^~~~~~~~~~~~~~~~~
[  104s] src/stalld.c:647:33: error: ‘REGEXEC_NO_MATCHPTR’ undeclared (first use in this function)
[  104s]   647 |                                 REGEXEC_NO_MATCHPTR, REGEXEC_NO_FLAGS);
[  104s]       |                                 ^~~~~~~~~~~~~~~~~~~
[  104s] src/stalld.c:647:54: error: ‘REGEXEC_NO_FLAGS’ undeclared (first use in this function)
[  104s]   647 |                                 REGEXEC_NO_MATCHPTR, REGEXEC_NO_FLAGS);
[  104s]       |                                                      ^~~~~~~~~~~~~~~~
[  104s] src/stalld.c:649:97: error: invalid use of undefined type ‘struct task_info’
[  104s]   649 |                         log_msg("Ignoring the thread %s from consideration for boosting\n", task->comm);
[  104s]       |                                                                                                 ^~
[  104s] src/stalld.c:660:17: error: invalid use of undefined type ‘struct task_info’
[  104s]   660 |         if (task->tgid > SWAPPER) {
[  104s]       |                 ^~
[  104s] src/stalld.c:660:26: error: ‘SWAPPER’ undeclared (first use in this function)
[  104s]   660 |         if (task->tgid > SWAPPER) {
[  104s]       |                          ^~~~~~~
[  104s] src/stalld.c:661:43: error: invalid use of undefined type ‘struct task_info’
[  104s]   661 |                 if (fill_process_comm(task->tgid, task->pid, group_comm, COMM_SIZE)) {
[  104s]       |                                           ^~
[  104s] src/stalld.c:661:55: error: invalid use of undefined type ‘struct task_info’
[  104s]   661 |                 if (fill_process_comm(task->tgid, task->pid, group_comm, COMM_SIZE)) {
[  104s]       |                                                       ^~
[  104s] src/stalld.c:673:121: error: invalid use of undefined type ‘struct task_info’
[  104s]   673 |                                 log_msg("Ignoring the thread %s (spawned by %s) from consideration for boosting\n", task->comm, group_comm);
[  104s]       |                                                                                                                         ^~
[  104s] src/stalld.c:637:14: warning: unused variable ‘group_comm’ [-Wunused-variable]
[  104s]   637 |         char group_comm[COMM_SIZE];
[  104s]       |              ^~~~~~~~~~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:682:33: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   682 | int check_starving_tasks(struct cpu_info *cpu)
[  104s]       |                                 ^~~~~~~~
[  104s] src/stalld.c: In function ‘check_starving_tasks’:
[  104s] src/stalld.c:684:38: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   684 |         struct task_info *tasks = cpu->starving;
[  104s]       |                                      ^~
[  104s] src/stalld.c:689:28: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   689 |         for (i = 0; i < cpu->nr_waiting_tasks; i++) {
[  104s]       |                            ^~
[  104s] src/stalld.c:690:30: error: invalid use of undefined type ‘struct task_info’
[  104s]   690 |                 task = &tasks[i];
[  104s]       |                              ^
[  104s] src/stalld.c:692:39: error: invalid use of undefined type ‘struct task_info’
[  104s]   692 |                 if ((time(NULL) - task->since) >= config_starving_threshold) {
[  104s]       |                                       ^~
[  104s] src/stalld.c:695:37: error: invalid use of undefined type ‘struct task_info’
[  104s]   695 |                                 task->comm, task->pid, cpu->id,
[  104s]       |                                     ^~
[  104s] src/stalld.c:695:49: error: invalid use of undefined type ‘struct task_info’
[  104s]   695 |                                 task->comm, task->pid, cpu->id,
[  104s]       |                                                 ^~
[  104s] src/stalld.c:695:59: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   695 |                                 task->comm, task->pid, cpu->id,
[  104s]       |                                                           ^~
[  104s] src/stalld.c:696:51: error: invalid use of undefined type ‘struct task_info’
[  104s]   696 |                                 (time(NULL) - task->since));
[  104s]       |                                                   ^~
[  104s] src/stalld.c:704:37: error: invalid use of undefined type ‘struct task_info’
[  104s]   704 |                                 task->since = time(NULL);
[  104s]       |                                     ^~
[  104s] src/stalld.c:715:37: error: invalid use of undefined type ‘struct task_info’
[  104s]   715 |                                 task->since = time(NULL);
[  104s]       |                                     ^~
[  104s] src/stalld.c:719:49: error: invalid use of undefined type ‘struct task_info’
[  104s]   719 |                         boost_starving_task(task->tgid, task->pid, cpu);
[  104s]       |                                                 ^~
[  104s] src/stalld.c:719:61: error: invalid use of undefined type ‘struct task_info’
[  104s]   719 |                         boost_starving_task(task->tgid, task->pid, cpu);
[  104s]       |                                                             ^~
[  104s] src/stalld.c:719:68: error: passing argument 3 of ‘boost_starving_task’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   719 |                         boost_starving_task(task->tgid, task->pid, cpu);
[  104s]       |                                                                    ^~~
[  104s]       |                                                                    |
[  104s]       |                                                                    struct cpu_info *
[  104s] src/stalld.c:594:61: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   594 | int boost_starving_task(int tgid, int pid, struct cpu_info *cpu)
[  104s]       |                                            ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:726:37: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   726 | int check_might_starve_tasks(struct cpu_info *cpu)
[  104s]       |                                     ^~~~~~~~
[  104s] src/stalld.c: In function ‘check_might_starve_tasks’:
[  104s] src/stalld.c:728:38: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   728 |         struct task_info *tasks = cpu->starving;
[  104s]       |                                      ^~
[  104s] src/stalld.c:733:16: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   733 |         if (cpu->thread_running)
[  104s]       |                ^~
[  104s] src/stalld.c:736:28: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   736 |         for (i = 0; i < cpu->nr_waiting_tasks; i++) {
[  104s]       |                            ^~
[  104s] src/stalld.c:737:30: error: invalid use of undefined type ‘struct task_info’
[  104s]   737 |                 task = &tasks[i];
[  104s]       |                              ^
[  104s] src/stalld.c:739:39: error: invalid use of undefined type ‘struct task_info’
[  104s]   739 |                 if ((time(NULL) - task->since) >= config_starving_threshold/2) {
[  104s]       |                                       ^~
[  104s] src/stalld.c:742:37: error: invalid use of undefined type ‘struct task_info’
[  104s]   742 |                                 task->comm, task->pid, cpu->id,
[  104s]       |                                     ^~
[  104s] src/stalld.c:742:49: error: invalid use of undefined type ‘struct task_info’
[  104s]   742 |                                 task->comm, task->pid, cpu->id,
[  104s]       |                                                 ^~
[  104s] src/stalld.c:742:59: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   742 |                                 task->comm, task->pid, cpu->id,
[  104s]       |                                                           ^~
[  104s] src/stalld.c:743:51: error: invalid use of undefined type ‘struct task_info’
[  104s]   743 |                                 (time(NULL) - task->since));
[  104s]       |                                                   ^~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:752:37: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   752 | static int get_cpu_and_parse(struct cpu_info *cpu, char *buffer, int buffer_size)
[  104s]       |                                     ^~~~~~~~
[  104s] src/stalld.c: In function ‘get_cpu_and_parse’:
[  104s] src/stalld.c:756:20: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]   756 |         if (backend->get_cpu) {
[  104s]       |                    ^~
[  104s] src/stalld.c:757:33: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]   757 |                 retval = backend->get_cpu(buffer, buffer_size, cpu->id);
[  104s]       |                                 ^~
[  104s] src/stalld.c:757:67: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   757 |                 retval = backend->get_cpu(buffer, buffer_size, cpu->id);
[  104s]       |                                                                   ^~
[  104s] src/stalld.c:765:25: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]   765 |         retval = backend->parse(cpu, buffer, buffer_size);
[  104s]       |                         ^~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:775:48: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   775 | static int cpu_main_parse_starving_task(struct cpu_info *cpu)
[  104s]       |                                                ^~~~~~~~
[  104s] src/stalld.c: In function ‘cpu_main_parse_starving_task’:
[  104s] src/stalld.c:779:20: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]   779 |         if (backend->get) {
[  104s]       |                    ^~
[  104s] src/stalld.c:780:33: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]   780 |                 retval = backend->get(cpu->buffer, cpu->buffer_size);
[  104s]       |                                 ^~
[  104s] src/stalld.c:780:42: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   780 |                 retval = backend->get(cpu->buffer, cpu->buffer_size);
[  104s]       |                                          ^~
[  104s] src/stalld.c:780:55: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   780 |                 retval = backend->get(cpu->buffer, cpu->buffer_size);
[  104s]       |                                                       ^~
[  104s] src/stalld.c:788:42: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   788 |         return get_cpu_and_parse(cpu, cpu->buffer, cpu->buffer_size);
[  104s]       |                                          ^~
[  104s] src/stalld.c:788:55: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   788 |         return get_cpu_and_parse(cpu, cpu->buffer, cpu->buffer_size);
[  104s]       |                                                       ^~
[  104s] src/stalld.c:788:34: error: passing argument 1 of ‘get_cpu_and_parse’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   788 |         return get_cpu_and_parse(cpu, cpu->buffer, cpu->buffer_size);
[  104s]       |                                  ^~~
[  104s]       |                                  |
[  104s]       |                                  struct cpu_info *
[  104s] src/stalld.c:752:47: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   752 | static int get_cpu_and_parse(struct cpu_info *cpu, char *buffer, int buffer_size)
[  104s]       |                              ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c: In function ‘cpu_main’:
[  104s] src/stalld.c:797:19: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   797 |         while (cpu->thread_running && running) {
[  104s]       |                   ^~
[  104s] src/stalld.c:800:46: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   800 |                 if (config_buffer_size != cpu->buffer_size) {
[  104s]       |                                              ^~
[  104s] src/stalld.c:801:47: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   801 |                         char *old_buffer = cpu->buffer;
[  104s]       |                                               ^~
[  104s] src/stalld.c:802:28: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   802 |                         cpu->buffer = realloc(cpu->buffer, config_buffer_size);
[  104s]       |                            ^~
[  104s] src/stalld.c:802:50: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   802 |                         cpu->buffer = realloc(cpu->buffer, config_buffer_size);
[  104s]       |                                                  ^~
[  104s] src/stalld.c:803:33: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   803 |                         if (!cpu->buffer) {
[  104s]       |                                 ^~
[  104s] src/stalld.c:805:36: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   805 |                                 cpu->buffer = old_buffer;
[  104s]       |                                    ^~
[  104s] src/stalld.c:807:36: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   807 |                                 cpu->buffer_size = config_buffer_size;
[  104s]       |                                    ^~
[  104s] src/stalld.c:812:47: error: passing argument 1 of ‘cpu_had_idle_time’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   812 |                         if (cpu_had_idle_time(cpu)) {
[  104s]       |                                               ^~~
[  104s]       |                                               |
[  104s]       |                                               struct cpu_info *
[  104s] src/stalld.c:318:40: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   318 | int cpu_had_idle_time(struct cpu_info *cpu_info)
[  104s]       |                       ~~~~~~~~~~~~~~~~~^~~~~~~~
[  104s] src/stalld.c:814:99: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   814 |                                         log_msg("cpu %d had idle time! skipping next phase\n", cpu->id);
[  104s]       |                                                                                                   ^~
[  104s] src/stalld.c:820:55: error: passing argument 1 of ‘cpu_main_parse_starving_task’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   820 |                 retval = cpu_main_parse_starving_task(cpu);
[  104s]       |                                                       ^~~
[  104s]       |                                                       |
[  104s]       |                                                       struct cpu_info *
[  104s] src/stalld.c:775:58: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   775 | static int cpu_main_parse_starving_task(struct cpu_info *cpu)
[  104s]       |                                         ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c:825:45: error: passing argument 1 of ‘print_waiting_tasks’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   825 |                         print_waiting_tasks(cpu);
[  104s]       |                                             ^~~
[  104s]       |                                             |
[  104s]       |                                             struct cpu_info *
[  104s] src/stalld.c:404:43: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   404 | void print_waiting_tasks(struct cpu_info *cpu_info)
[  104s]       |                          ~~~~~~~~~~~~~~~~~^~~~~~~~
[  104s] src/stalld.c:827:28: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]   827 |                 if (backend->has_starving_task(cpu)) {
[  104s]       |                            ^~
[  104s] src/stalld.c:829:46: error: passing argument 1 of ‘check_starving_tasks’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   829 |                         check_starving_tasks(cpu);
[  104s]       |                                              ^~~
[  104s]       |                                              |
[  104s]       |                                              struct cpu_info *
[  104s] src/stalld.c:682:43: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   682 | int check_starving_tasks(struct cpu_info *cpu)
[  104s]       |                          ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c:840:28: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   840 |                         cpu->thread_running=0;
[  104s]       |                            ^~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:859:29: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   859 | void aggressive_main(struct cpu_info *cpus, int nr_cpus)
[  104s]       |                             ^~~~~~~~
[  104s] src/stalld.c: In function ‘aggressive_main’:
[  104s] src/stalld.c:864:22: error: implicit declaration of function ‘should_monitor’ [-Wimplicit-function-declaration]
[  104s]   864 |                 if (!should_monitor(i))
[  104s]       |                      ^~~~~~~~~~~~~~
[  104s] src/stalld.c:867:21: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   867 |                 cpus[i].id = i;
[  104s]       |                     ^
[  104s] src/stalld.c:867:24: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   867 |                 cpus[i].id = i;
[  104s]       |                        ^
[  104s] src/stalld.c:868:21: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   868 |                 cpus[i].thread_running = 1;
[  104s]       |                     ^
[  104s] src/stalld.c:868:24: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   868 |                 cpus[i].thread_running = 1;
[  104s]       |                        ^
[  104s] src/stalld.c:869:37: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   869 |                 pthread_create(&cpus[i].thread, NULL, cpu_main, &cpus[i]);
[  104s]       |                                     ^
[  104s] src/stalld.c:869:40: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   869 |                 pthread_create(&cpus[i].thread, NULL, cpu_main, &cpus[i]);
[  104s]       |                                        ^
[  104s] src/stalld.c:869:70: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   869 |                 pthread_create(&cpus[i].thread, NULL, cpu_main, &cpus[i]);
[  104s]       |                                                                      ^
[  104s] src/stalld.c:876:34: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   876 |                 join_thread(&cpus[i].thread);
[  104s]       |                                  ^
[  104s] src/stalld.c:876:37: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   876 |                 join_thread(&cpus[i].thread);
[  104s]       |                                     ^
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:880:31: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   880 | void conservative_main(struct cpu_info *cpus, int nr_cpus)
[  104s]       |                               ^~~~~~~~
[  104s] src/stalld.c: In function ‘conservative_main’:
[  104s] src/stalld.c:893:17: error: implicit declaration of function ‘die’; did you mean ‘div’? [-Wimplicit-function-declaration]
[  104s]   893 |                 die("cannot allocate buffer");
[  104s]       |                 ^~~
[  104s]       |                 div
[  104s] src/stalld.c:901:21: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   901 |                 cpus[i].id = i;
[  104s]       |                     ^
[  104s] src/stalld.c:901:24: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   901 |                 cpus[i].id = i;
[  104s]       |                        ^
[  104s] src/stalld.c:902:21: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   902 |                 cpus[i].thread_running = 0;
[  104s]       |                     ^
[  104s] src/stalld.c:902:24: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   902 |                 cpus[i].thread_running = 0;
[  104s]       |                        ^
[  104s] src/stalld.c:921:58: error: passing argument 1 of ‘get_cpu_busy_list’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   921 |                         has_busy_cpu = get_cpu_busy_list(cpus, nr_cpus, busy_cpu_list);
[  104s]       |                                                          ^~~~
[  104s]       |                                                          |
[  104s]       |                                                          struct cpu_info *
[  104s] src/stalld.c:355:40: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   355 | int get_cpu_busy_list(struct cpu_info *cpus, int nr_cpus, char *busy_cpu_list)
[  104s]       |                       ~~~~~~~~~~~~~~~~~^~~~
[  104s] src/stalld.c:929:28: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]   929 |                 if (backend->get) {
[  104s]       |                            ^~
[  104s] src/stalld.c:930:41: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]   930 |                         retval = backend->get(buffer, buffer_size);
[  104s]       |                                         ^~
[  104s] src/stalld.c:941:36: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   941 |                         cpu = &cpus[i];
[  104s]       |                                    ^
[  104s] src/stalld.c:943:32: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   943 |                         if (cpu->thread_running)
[  104s]       |                                ^~
[  104s] src/stalld.c:949:52: error: passing argument 1 of ‘get_cpu_and_parse’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   949 |                         retval = get_cpu_and_parse(cpu, buffer, buffer_size);
[  104s]       |                                                    ^~~
[  104s]       |                                                    |
[  104s]       |                                                    struct cpu_info *
[  104s] src/stalld.c:752:47: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   752 | static int get_cpu_and_parse(struct cpu_info *cpu, char *buffer, int buffer_size)
[  104s]       |                              ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c:955:46: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   955 |                                        i, cpu->nr_rt_running, cpu->nr_waiting_tasks);
[  104s]       |                                              ^~
[  104s] src/stalld.c:955:66: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   955 |                                        i, cpu->nr_rt_running, cpu->nr_waiting_tasks);
[  104s]       |                                                                  ^~
[  104s] src/stalld.c:957:54: error: passing argument 1 of ‘check_might_starve_tasks’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]   957 |                         if (check_might_starve_tasks(cpu)) {
[  104s]       |                                                      ^~~
[  104s]       |                                                      |
[  104s]       |                                                      struct cpu_info *
[  104s] src/stalld.c:726:47: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   726 | int check_might_starve_tasks(struct cpu_info *cpu)
[  104s]       |                              ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c:958:37: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   958 |                                 cpus[i].id = i;
[  104s]       |                                     ^
[  104s] src/stalld.c:958:40: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   958 |                                 cpus[i].id = i;
[  104s]       |                                        ^
[  104s] src/stalld.c:959:37: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   959 |                                 cpus[i].thread_running = 1;
[  104s]       |                                     ^
[  104s] src/stalld.c:959:40: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   959 |                                 cpus[i].thread_running = 1;
[  104s]       |                                        ^
[  104s] src/stalld.c:960:53: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   960 |                                 pthread_create(&cpus[i].thread, &dettached, cpu_main, &cpus[i]);
[  104s]       |                                                     ^
[  104s] src/stalld.c:960:56: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   960 |                                 pthread_create(&cpus[i].thread, &dettached, cpu_main, &cpus[i]);
[  104s]       |                                                        ^
[  104s] src/stalld.c:960:92: error: invalid use of undefined type ‘struct cpu_info’
[  104s]   960 |                                 pthread_create(&cpus[i].thread, &dettached, cpu_main, &cpus[i]);
[  104s]       |                                                                                            ^
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:971:90: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]   971 | int boost_cpu_starving_vector(struct cpu_starving_task_info *vector, int nr_cpus, struct cpu_info *cpus)
[  104s]       |                                                                                          ^~~~~~~~
[  104s] src/stalld.c: In function ‘boost_cpu_starving_vector’:
[  104s] src/stalld.c:1013:77: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1013 |                         ret = boost_with_deadline(cpu->tgid, cpu->pid, &cpus[i]);
[  104s]       |                                                                             ^
[  104s] src/stalld.c:1013:72: error: passing argument 3 of ‘boost_with_deadline’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]  1013 |                         ret = boost_with_deadline(cpu->tgid, cpu->pid, &cpus[i]);
[  104s]       |                                                                        ^~~~~~~~
[  104s]       |                                                                        |
[  104s]       |                                                                        struct cpu_info *
[  104s] src/stalld.c:504:61: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   504 | int boost_with_deadline(int tgid, int pid, struct cpu_info *cpu)
[  104s]       |                                            ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c: At top level:
[  104s] src/stalld.c:1039:34: warning: ‘struct cpu_info’ declared inside parameter list will not be visible outside of this definition or declaration
[  104s]  1039 | void single_threaded_main(struct cpu_info *cpus, int nr_cpus)
[  104s]       |                                  ^~~~~~~~
[  104s] src/stalld.c: In function ‘single_threaded_main’:
[  104s] src/stalld.c:1067:21: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1067 |                 cpus[i].id = i;
[  104s]       |                     ^
[  104s] src/stalld.c:1067:24: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1067 |                 cpus[i].id = i;
[  104s]       |                        ^
[  104s] src/stalld.c:1068:21: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1068 |                 cpus[i].thread_running = 0;
[  104s]       |                     ^
[  104s] src/stalld.c:1068:24: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1068 |                 cpus[i].thread_running = 0;
[  104s]       |                        ^
[  104s] src/stalld.c:1072:64: error: invalid application of ‘sizeof’ to incomplete type ‘struct task_info’
[  104s]  1072 |                 memset(&cpu_starving_vector[i].task, 0, sizeof(struct task_info));
[  104s]       |                                                                ^~~~~~
[  104s] src/stalld.c:1091:58: error: passing argument 1 of ‘get_cpu_busy_list’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]  1091 |                         has_busy_cpu = get_cpu_busy_list(cpus, nr_cpus, busy_cpu_list);
[  104s]       |                                                          ^~~~
[  104s]       |                                                          |
[  104s]       |                                                          struct cpu_info *
[  104s] src/stalld.c:355:40: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   355 | int get_cpu_busy_list(struct cpu_info *cpus, int nr_cpus, char *busy_cpu_list)
[  104s]       |                       ~~~~~~~~~~~~~~~~~^~~~
[  104s] src/stalld.c:1099:28: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]  1099 |                 if (backend->get) {
[  104s]       |                            ^~
[  104s] src/stalld.c:1100:41: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]  1100 |                         retval = backend->get(buffer, buffer_size);
[  104s]       |                                         ^~
[  104s] src/stalld.c:1111:36: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1111 |                         cpu = &cpus[i];
[  104s]       |                                    ^
[  104s] src/stalld.c:1116:52: error: passing argument 1 of ‘get_cpu_and_parse’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]  1116 |                         retval = get_cpu_and_parse(cpu, buffer, buffer_size);
[  104s]       |                                                    ^~~
[  104s]       |                                                    |
[  104s]       |                                                    struct cpu_info *
[  104s] src/stalld.c:752:47: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   752 | static int get_cpu_and_parse(struct cpu_info *cpu, char *buffer, int buffer_size)
[  104s]       |                              ~~~~~~~~~~~~~~~~~^~~
[  104s] src/stalld.c:1122:46: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1122 |                                        i, cpu->nr_rt_running, cpu->nr_waiting_tasks);
[  104s]       |                                              ^~
[  104s] src/stalld.c:1122:66: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1122 |                                        i, cpu->nr_rt_running, cpu->nr_waiting_tasks);
[  104s]       |                                                                  ^~
[  104s] src/stalld.c:1126:83: error: passing argument 3 of ‘boost_cpu_starving_vector’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]  1126 |                 boosted = boost_cpu_starving_vector(cpu_starving_vector, nr_cpus, cpus);
[  104s]       |                                                                                   ^~~~
[  104s]       |                                                                                   |
[  104s]       |                                                                                   struct cpu_info *
[  104s] src/stalld.c:971:100: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   971 | int boost_cpu_starving_vector(struct cpu_starving_task_info *vector, int nr_cpus, struct cpu_info *cpus)
[  104s]       |                                                                                   ~~~~~~~~~~~~~~~~~^~~~
[  104s] src/stalld.c:1132:74: error: invalid application of ‘sizeof’ to incomplete type ‘struct task_info’
[  104s]  1132 |                         memset(&(cpu_starving_vector[i].task), 0, sizeof(struct task_info));
[  104s]       |                                                                          ^~~~~~
[  104s] src/stalld.c: In function ‘main’:
[  104s] src/stalld.c:1242:9: error: implicit declaration of function ‘parse_args’ [-Wimplicit-function-declaration]
[  104s]  1242 |         parse_args(argc, argv);
[  104s]       |         ^~~~~~~~~~
[  104s] src/stalld.c:1248:17: error: implicit declaration of function ‘set_cpu_affinity’ [-Wimplicit-function-declaration]
[  104s]  1248 |                 set_cpu_affinity(config_affinity_cpus);
[  104s]       |                 ^~~~~~~~~~~~~~~~
[  104s] src/stalld.c:1258:42: error: implicit declaration of function ‘rt_throttling_is_off’ [-Wimplicit-function-declaration]
[  104s]  1258 |                 if (!config_log_only && !rt_throttling_is_off())
[  104s]       |                                          ^~~~~~~~~~~~~~~~~~~~
[  104s] src/stalld.c:1262:17: error: implicit declaration of function ‘turn_off_rt_throttling’ [-Wimplicit-function-declaration]
[  104s]  1262 |                 turn_off_rt_throttling();
[  104s]       |                 ^~~~~~~~~~~~~~~~~~~~~~
[  104s] src/stalld.c:1271:30: error: invalid application of ‘sizeof’ to incomplete type ‘struct cpu_info’
[  104s]  1271 |         cpus = malloc(sizeof(struct cpu_info) * config_nr_cpus);
[  104s]       |                              ^~~~~~
[  104s] src/stalld.c:1275:32: error: invalid application of ‘sizeof’ to incomplete type ‘struct cpu_info’
[  104s]  1275 |         memset(cpus, 0, sizeof(struct cpu_info) * config_nr_cpus);
[  104s]       |                                ^~~~~~
[  104s] src/stalld.c:1278:21: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1278 |                 cpus[i].buffer = malloc(config_buffer_size);
[  104s]       |                     ^
[  104s] src/stalld.c:1278:24: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1278 |                 cpus[i].buffer = malloc(config_buffer_size);
[  104s]       |                        ^
[  104s] src/stalld.c:1279:26: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1279 |                 if (!cpus[i].buffer)
[  104s]       |                          ^
[  104s] src/stalld.c:1279:29: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1279 |                 if (!cpus[i].buffer)
[  104s]       |                             ^
[  104s] src/stalld.c:1282:21: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1282 |                 cpus[i].buffer_size = config_buffer_size;
[  104s]       |                     ^
[  104s] src/stalld.c:1282:24: error: invalid use of undefined type ‘struct cpu_info’
[  104s]  1282 |                 cpus[i].buffer_size = config_buffer_size;
[  104s]       |                        ^
[  104s] src/stalld.c:1288:20: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]  1288 |         if (backend->init())
[  104s]       |                    ^~
[  104s] src/stalld.c:1291:9: error: implicit declaration of function ‘setup_signal_handling’ [-Wimplicit-function-declaration]
[  104s]  1291 |         setup_signal_handling();
[  104s]       |         ^~~~~~~~~~~~~~~~~~~~~
[  104s] src/stalld.c:1297:17: error: implicit declaration of function ‘daemonize’; did you mean ‘daemon’? [-Wimplicit-function-declaration]
[  104s]  1297 |                 daemonize();
[  104s]       |                 ^~~~~~~~~
[  104s]       |                 daemon
[  104s] src/stalld.c:1304:26: error: implicit declaration of function ‘set_reservation’ [-Wimplicit-function-declaration]
[  104s]  1304 |                 retval = set_reservation(config_granularity, config_reservation);
[  104s]       |                          ^~~~~~~~~~~~~~~
[  104s] src/stalld.c:1311:9: error: implicit declaration of function ‘write_pidfile’ [-Wimplicit-function-declaration]
[  104s]  1311 |         write_pidfile();
[  104s]       |         ^~~~~~~~~~~~~
[  104s] src/stalld.c:1315:33: error: passing argument 1 of ‘aggressive_main’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]  1315 |                 aggressive_main(cpus, config_nr_cpus);
[  104s]       |                                 ^~~~
[  104s]       |                                 |
[  104s]       |                                 struct cpu_info *
[  104s] src/stalld.c:859:39: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   859 | void aggressive_main(struct cpu_info *cpus, int nr_cpus)
[  104s]       |                      ~~~~~~~~~~~~~~~~~^~~~
[  104s] src/stalld.c:1317:35: error: passing argument 1 of ‘conservative_main’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]  1317 |                 conservative_main(cpus, config_nr_cpus);
[  104s]       |                                   ^~~~
[  104s]       |                                   |
[  104s]       |                                   struct cpu_info *
[  104s] src/stalld.c:880:41: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]   880 | void conservative_main(struct cpu_info *cpus, int nr_cpus)
[  104s]       |                        ~~~~~~~~~~~~~~~~~^~~~
[  104s] src/stalld.c:1319:38: error: passing argument 1 of ‘single_threaded_main’ from incompatible pointer type [-Wincompatible-pointer-types]
[  104s]  1319 |                 single_threaded_main(cpus, config_nr_cpus);
[  104s]       |                                      ^~~~
[  104s]       |                                      |
[  104s]       |                                      struct cpu_info *
[  104s] src/stalld.c:1039:44: note: expected ‘struct cpu_info *’ but argument is of type ‘struct cpu_info *’
[  104s]  1039 | void single_threaded_main(struct cpu_info *cpus, int nr_cpus)
[  104s]       |                           ~~~~~~~~~~~~~~~~~^~~~
[  104s] src/stalld.c:1321:9: error: implicit declaration of function ‘cleanup_regex’ [-Wimplicit-function-declaration]
[  104s]  1321 |         cleanup_regex(&nr_thread_ignore, &compiled_regex_thread);
[  104s]       |         ^~~~~~~~~~~~~
[  104s] src/stalld.c:1326:16: error: invalid use of undefined type ‘struct stalld_backend’
[  104s]  1326 |         backend->destroy();
[  104s]       |                ^~
[  104s] make: *** [<builtin>: src/stalld.o] Error 1
[  104s] error: Bad exit status from /var/tmp/rpm-tmp.WmR5gx (%build)
[  104s] 
[  104s] RPM build errors:
[  104s]     Bad exit status from /var/tmp/rpm-tmp.WmR5gx (%build)
[  104s] ### VM INTERACTION START ###
[  105s] mount: /: mount point is busy.
[  105s]        dmesg(1) may have more information after failed mount system call.
[  105s] Warning: 'remount -o ro /' failed. Triple Syncing..
[  105s] [  100.744964][    T1] sysrq: Power Off
[  105s] ### VM INTERACTION END ###
[  105s] 
[  105s] i04-ch1c failed "build stalld.spec" at Fri Aug 22 22:31:18 UTC 2025.
[  105s] 
openSUSE Build Service is sponsored by