<86>Oct 28 00:03:15 userdel[3099971]: delete user 'rooter'
<86>Oct 28 00:03:15 userdel[3099971]: removed group 'rooter' owned by 'rooter'
<86>Oct 28 00:03:15 userdel[3099971]: removed shadow group 'rooter' owned by 'rooter'
<86>Oct 28 00:03:15 groupadd[3099979]: group added to /etc/group: name=rooter, GID=1799
<86>Oct 28 00:03:15 groupadd[3099979]: group added to /etc/gshadow: name=rooter
<86>Oct 28 00:03:15 groupadd[3099979]: new group: name=rooter, GID=1799
<86>Oct 28 00:03:15 useradd[3099985]: new user: name=rooter, UID=1799, GID=1799, home=/root, shell=/bin/bash, from=none
<86>Oct 28 00:03:15 userdel[3099995]: delete user 'builder'
<86>Oct 28 00:03:15 userdel[3099995]: removed group 'builder' owned by 'builder'
<86>Oct 28 00:03:15 userdel[3099995]: removed shadow group 'builder' owned by 'builder'
<86>Oct 28 00:03:15 groupadd[3100002]: group added to /etc/group: name=builder, GID=1800
<86>Oct 28 00:03:15 groupadd[3100002]: group added to /etc/gshadow: name=builder
<86>Oct 28 00:03:15 groupadd[3100002]: new group: name=builder, GID=1800
<86>Oct 28 00:03:15 useradd[3100008]: new user: name=builder, UID=1800, GID=1800, home=/usr/src, shell=/bin/bash, from=none
<13>Oct 28 00:03:19 rpmi: libcom_err-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975345 installed
<13>Oct 28 00:03:19 rpmi: liburing-2.4-alt1 sisyphus+322649.300.3.1 1686486087 installed
<13>Oct 28 00:03:19 rpmi: libnuma-2.0.14-alt2 sisyphus+278485.100.1.1 1626104244 installed
<13>Oct 28 00:03:19 rpmi: libkeyutils-1.6.3-alt1 sisyphus+266061.100.1.1 1612919566 installed
<13>Oct 28 00:03:19 rpmi: libnettle8-3.9.1-alt1 sisyphus+322548.100.1.2 1686176879 installed
<13>Oct 28 00:03:19 rpmi: seavgabios-1.16.2-alt1 sisyphus+319308.100.1.1 1682436446 installed
<13>Oct 28 00:03:19 rpmi: ipxe-roms-qemu-1:20230816-alt1.git9e99a55b sisyphus+328428.100.1.1 1693499395 installed
<13>Oct 28 00:03:19 rpmi: mount-2.39.2-alt1 sisyphus+329530.100.1.1 1694630186 installed
<13>Oct 28 00:03:19 rpmi: lsblk-2.39.2-alt1 sisyphus+329530.100.1.1 1694630186 installed
<13>Oct 28 00:03:19 rpmi: libp11-kit-1:0.24.1-alt2 sisyphus+324666.100.1.1 1689083439 installed
<13>Oct 28 00:03:19 rpmi: libtasn1-4.19.0-alt3 sisyphus+327816.100.1.1 1692802615 installed
<13>Oct 28 00:03:19 rpmi: edk2-ovmf-20221117-alt1 sisyphus+310911.300.1.1 1669841143 installed
<13>Oct 28 00:03:19 rpmi: libhogweed6-3.9.1-alt1 sisyphus+322548.100.1.2 1686176879 installed
<13>Oct 28 00:03:19 rpmi: libe2fs-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975345 installed
<13>Oct 28 00:03:20 rpmi: libss-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975345 installed
<13>Oct 28 00:03:20 rpmi: e2fsprogs-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975345 installed
<13>Oct 28 00:03:20 rpmi: seabios-1.16.2-alt1 sisyphus+319308.100.1.1 1682436446 installed
<13>Oct 28 00:03:20 rpmi: qemu-aux-8.1.2-alt1 sisyphus+332089.140.4.2 1698082276 installed
<13>Oct 28 00:03:20 rpmi: qboot-0.0-alt2.gita5300c4949 sisyphus+288238.100.1.1 1635334950 installed
<13>Oct 28 00:03:20 rpmi: libverto-0.3.2-alt1_1 sisyphus+321176.2200.10.2 1684803947 installed
<13>Oct 28 00:03:20 rpmi: libsnappy-1.1.7-alt1 sisyphus+276400.100.1.2 1625016393 installed
<13>Oct 28 00:03:20 rpmi: libslirp-4.7.0-alt1 sisyphus+301207.100.1.3 1654272333 installed
<13>Oct 28 00:03:20 rpmi: libpng16-1.6.40-alt1 sisyphus+323732.100.1.1 1687771851 installed
<13>Oct 28 00:03:20 rpmi: libpixman-3:0.42.2-alt1 sisyphus+309549.100.1.1 1667649219 installed
<13>Oct 28 00:03:20 rpmi: liblzo2-2.10-alt2 sisyphus+283836.100.1.1 1629977727 installed
<13>Oct 28 00:03:20 rpmi: liblmdb-0.9.31-alt1 sisyphus+330946.40.2.1 1696431544 installed
<13>Oct 28 00:03:20 rpmi: libjpeg-2:2.1.2-alt1.2 sisyphus+300827.100.2.1 1653916633 installed
<13>Oct 28 00:03:20 rpmi: libnl3-3.7.0-alt1 sisyphus+307975.100.1.1 1665071443 installed
<13>Oct 28 00:03:20 rpmi: libibverbs-48.0-alt1 sisyphus+331326.100.2.2 1697008990 installed
<13>Oct 28 00:03:20 rpmi: librdmacm-48.0-alt1 sisyphus+331326.100.2.2 1697008990 installed
<13>Oct 28 00:03:20 rpmi: libidn2-2.3.4-alt1 sisyphus+309023.100.1.1 1666791084 installed
<13>Oct 28 00:03:20 rpmi: libgnutls30-3.8.1-alt2 sisyphus+326772.40.3.1 1692114175 installed
<13>Oct 28 00:03:20 rpmi: desktop-file-utils-0.26-alt6 sisyphus+331944.100.1.3 1697550026 installed
<13>Oct 28 00:03:20 rpmi: shared-mime-info-2.3-alt1 sisyphus+331248.100.1.1 1696723928 installed
<13>Oct 28 00:03:20 rpmi: libfdt-1.7.0-alt1 sisyphus+311250.102600.178.1 1685830088 installed
<13>Oct 28 00:03:20 rpmi: libfdisk-2.39.2-alt1 sisyphus+329530.100.1.1 1694630186 installed
<13>Oct 28 00:03:20 rpmi: sfdisk-2.39.2-alt1 sisyphus+329530.100.1.1 1694630186 installed
<13>Oct 28 00:03:20 rpmi: libbpf-1.2.2-alt1 sisyphus+324728.100.1.1 1689157561 installed
<13>Oct 28 00:03:20 rpmi: libaio-0.3.113-alt1 sisyphus+317408.100.1.1 1679677773 installed
<13>Oct 28 00:03:20 rpmi: libpci-3.10.0-alt1 sisyphus+322444.100.2.2 1686183531 installed
<13>Oct 28 00:03:20 rpmi: pciids-20230922-alt1 sisyphus+330116.100.1.1 1695424341 installed
<13>Oct 28 00:03:20 rpmi: pciutils-3.10.0-alt1 sisyphus+322444.100.2.2 1686183531 installed
<13>Oct 28 00:03:20 rpmi: chrooted-0.3.12-alt1 sisyphus+278157.200.2.1 1626055811 installed
<13>Oct 28 00:03:20 rpmi: chrooted-resolv-0.3.1-alt2 sisyphus+276781.100.1.1 1625232499 installed
<13>Oct 28 00:03:20 rpmi: hasher-provides-dev-kvm-1-alt1 sisyphus+234377.200.6.1 1569421041 installed
<13>Oct 28 00:03:20 rpmi: gsettings-desktop-schemas-data-45.0-alt1 sisyphus+325066.400.6.2 1695203930 installed
<13>Oct 28 00:03:20 rpmi: libgio-2.78.1-alt1 sisyphus+332710.100.1.2 1698249916 installed
<13>Oct 28 00:03:20 rpmi: gsettings-desktop-schemas-45.0-alt1 sisyphus+325066.400.6.2 1695203930 installed
<13>Oct 28 00:03:20 rpmi: gcc-c++-common-1.4.27-alt1 sisyphus+278099.1300.1.1 1626028636 installed
<13>Oct 28 00:03:20 rpmi: libstdc++13-devel-13.2.1-alt2 sisyphus+327572.100.1.1 1692472816 installed
<13>Oct 28 00:03:21 rpmi: gcc13-c++-13.2.1-alt2 sisyphus+327572.100.1.1 1692472816 installed
<13>Oct 28 00:03:21 rpmi: libdevmapper-1.02.196-alt1 sisyphus+328928.400.3.1 1694103931 installed
<13>Oct 28 00:03:21 rpmi: losetup-2.39.2-alt1 sisyphus+329530.100.1.1 1694630186 installed
<13>Oct 28 00:03:21 rpmi: rpm-macros-alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed
<13>Oct 28 00:03:21 rpmi: alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed
<13>Oct 28 00:03:21 rpmi: ca-certificates-2023.07.31-alt1 sisyphus+326137.200.1.1 1690809798 installed
<13>Oct 28 00:03:21 rpmi: ca-trust-0.1.4-alt1 sisyphus+308690.100.1.1 1666182992 installed
<13>Oct 28 00:03:21 rpmi: p11-kit-trust-1:0.24.1-alt2 sisyphus+324666.100.1.1 1689083439 installed
<13>Oct 28 00:03:21 rpmi: libcrypto3-3.1.4-alt1 sisyphus+332632.100.2.1 1698241041 installed
<13>Oct 28 00:03:21 rpmi: libkmod-31-alt1 sisyphus+330699.100.1.1 1696072422 installed
<13>Oct 28 00:03:21 rpmi: kmod-31-alt1 sisyphus+330699.100.1.1 1696072422 installed
<13>Oct 28 00:03:21 rpmi: dmsetup-1.02.196-alt1 sisyphus+328928.400.3.1 1694103931 installed
<86>Oct 28 00:03:21 groupadd[3106219]: group added to /etc/group: name=tape, GID=999
<86>Oct 28 00:03:21 groupadd[3106219]: group added to /etc/gshadow: name=tape
<86>Oct 28 00:03:21 groupadd[3106219]: new group: name=tape, GID=999
<86>Oct 28 00:03:21 groupadd[3106228]: group added to /etc/group: name=dialout, GID=998
<86>Oct 28 00:03:21 groupadd[3106228]: group added to /etc/gshadow: name=dialout
<86>Oct 28 00:03:21 groupadd[3106228]: new group: name=dialout, GID=998
<86>Oct 28 00:03:21 groupadd[3106235]: group added to /etc/group: name=input, GID=997
<86>Oct 28 00:03:21 groupadd[3106235]: group added to /etc/gshadow: name=input
<86>Oct 28 00:03:21 groupadd[3106235]: new group: name=input, GID=997
<86>Oct 28 00:03:21 groupadd[3106242]: group added to /etc/group: name=video, GID=996
<86>Oct 28 00:03:21 groupadd[3106242]: group added to /etc/gshadow: name=video
<86>Oct 28 00:03:21 groupadd[3106242]: new group: name=video, GID=996
<86>Oct 28 00:03:21 groupadd[3106249]: group added to /etc/group: name=render, GID=995
<86>Oct 28 00:03:21 groupadd[3106249]: group added to /etc/gshadow: name=render
<86>Oct 28 00:03:21 groupadd[3106249]: new group: name=render, GID=995
<86>Oct 28 00:03:21 groupadd[3106261]: group added to /etc/group: name=sgx, GID=994
<86>Oct 28 00:03:21 groupadd[3106261]: group added to /etc/gshadow: name=sgx
<86>Oct 28 00:03:21 groupadd[3106261]: new group: name=sgx, GID=994
<13>Oct 28 00:03:21 rpmi: udev-1:254.5-alt1.2 sisyphus+331053.100.1.1 1696514772 installed
<13>Oct 28 00:03:21 rpmi: libdaxctl-78-alt1 sisyphus+326418.200.1.1 1691156683 installed
<13>Oct 28 00:03:21 rpmi: make-initrd-2.38.0-alt3 sisyphus+331239.100.1.1 1696694353 installed
<13>Oct 28 00:03:21 rpmi: bootloader-utils-0.5.4-alt1 sisyphus+299892.400.6.1 1655484623 installed
<13>Oct 28 00:03:25 rpmi: kernel-image-un-def-1:6.5.9-alt1 sisyphus+332727.100.1.1 1698256603 installed
<13>Oct 28 00:03:25 rpmi: libndctl-78-alt1 sisyphus+326418.200.1.1 1691156683 installed
<13>Oct 28 00:03:25 rpmi: libpmem-1.12.1-alt1 sisyphus+311874.100.2.1 1671540100 installed
<86>Oct 28 00:03:25 groupadd[3110304]: group added to /etc/group: name=fuse, GID=993
<86>Oct 28 00:03:25 groupadd[3110304]: group added to /etc/gshadow: name=fuse
<86>Oct 28 00:03:25 groupadd[3110304]: new group: name=fuse, GID=993
<86>Oct 28 00:03:25 groupadd[3110310]: group added to /etc/group: name=cuse, GID=992
<86>Oct 28 00:03:25 groupadd[3110310]: group added to /etc/gshadow: name=cuse
<86>Oct 28 00:03:25 groupadd[3110310]: new group: name=cuse, GID=992
<13>Oct 28 00:03:25 rpmi: fuse-common-1.1.2-alt1 sisyphus+279613.200.2.1 1626617487 installed
<13>Oct 28 00:03:25 rpmi: libfuse3-3.10.2-alt1 sisyphus+279294.100.1.3 1626495587 installed
<13>Oct 28 00:03:25 rpmi: fuse3-3.10.2-alt1 sisyphus+279294.100.1.3 1626495587 installed
<13>Oct 28 00:03:25 rpmi: qemu-img-8.1.2-alt1 sisyphus+332089.140.4.2 1698082276 installed
<13>Oct 28 00:03:25 rpmi: qemu-common-8.1.2-alt1 sisyphus+332089.140.4.2 1698082276 installed
<13>Oct 28 00:03:25 rpmi: libssl3-3.1.4-alt1 sisyphus+332632.100.2.1 1698241041 installed
<86>Oct 28 00:03:25 groupadd[3110415]: group added to /etc/group: name=_keytab, GID=991
<86>Oct 28 00:03:25 groupadd[3110415]: group added to /etc/gshadow: name=_keytab
<86>Oct 28 00:03:25 groupadd[3110415]: new group: name=_keytab, GID=991
<13>Oct 28 00:03:25 rpmi: libkrb5-1.21.2-alt1 sisyphus+327265.100.1.1 1692185462 installed
<86>Oct 28 00:03:25 groupadd[3110449]: group added to /etc/group: name=sasl, GID=990
<86>Oct 28 00:03:25 groupadd[3110449]: group added to /etc/gshadow: name=sasl
<86>Oct 28 00:03:25 groupadd[3110449]: new group: name=sasl, GID=990
<13>Oct 28 00:03:25 rpmi: libsasl2-3-2.1.27-alt2.2 sisyphus+324359.6000.12.1 1689392001 installed
<13>Oct 28 00:03:26 rpmi: qemu-system-x86-core-8.1.2-alt1 sisyphus+332089.140.4.2 1698082276 installed
<13>Oct 28 00:03:26 rpmi: rpm-build-vm-run-1.59-alt1 sisyphus+331322.200.2.1 1696922487 installed
Running depmod for 6.5.9-un-def-alt1
<13>Oct 28 00:03:27 rpmi: rpm-build-vm-1.59-alt1 sisyphus+331322.200.2.1 1696922487 installed
<13>Oct 28 00:03:27 rpmi: gcc-c++-13-alt1 sisyphus+323337.300.1.1 1687267966 installed
<13>Oct 28 00:03:27 rpmi: libgnutls-devel-3.8.1-alt2 sisyphus+326772.40.3.1 1692114175 installed
<13>Oct 28 00:03:27 rpmi: liburing-devel-2.4-alt1 sisyphus+322649.300.3.1 1686486087 installed
Building target platforms: x86_64
Building for target x86_64
Wrote: /usr/src/in/nosrpm/ubdsrv-1.1-alt1.nosrc.rpm (w1.gzdio)
Installing ubdsrv-1.1-alt1.src.rpm
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.86813
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf ubdsrv-1.1
+ echo 'Source #0 (ubdsrv-1.1.tar):'
Source #0 (ubdsrv-1.1.tar):
+ /bin/tar -xf /usr/src/RPM/SOURCES/ubdsrv-1.1.tar
+ cd ubdsrv-1.1
+ /bin/chmod -c -Rf u+rwX,go-w .
+ echo 'echo '\''1.1'\'''
+ sed -i 's!/usr/bin/chown!chown!' utils/ublk_chown.sh utils/ublk_chown_docker.sh
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.86813
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd ubdsrv-1.1
+ autoreconf -fisv
autoreconf-default: export WARNINGS=
autoreconf-default: Entering directory '.'
autoreconf-default: configure.ac: not using Gettext
autoreconf-default: running: aclocal --force -I m4
autoreconf-default: configure.ac: tracing
autoreconf-default: running: libtoolize --force --install
libtoolize-default: putting auxiliary files in '.'.
libtoolize-default: linking file './config.guess'
libtoolize-default: linking file './config.sub'
libtoolize-default: linking file './install-sh'
libtoolize-default: linking file './ltmain.sh'
libtoolize-default: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize-default: linking file 'm4/libtool.m4'
libtoolize-default: linking file 'm4/ltoptions.m4'
libtoolize-default: linking file 'm4/ltsugar.m4'
libtoolize-default: linking file 'm4/ltversion.m4'
libtoolize-default: linking file 'm4/lt~obsolete.m4'
autoreconf-default: configure.ac: not using Intltool
autoreconf-default: configure.ac: not using Gtkdoc
autoreconf-default: running: aclocal --force -I m4
autoreconf-default: running: /usr/bin/autoconf-2.71 --force
autoreconf-default: running: /usr/bin/autoheader-2.71 --force
autoreconf-default: running: automake --add-missing --force-missing
configure.ac:13: installing './compile'
configure.ac:19: installing './missing'
Makefile.am: installing './depcomp'
autoreconf-default: Leaving directory '.'
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto '
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto '
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto '
+ export FFLAGS
+ FCFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto '
+ export FCFLAGS
+ '[' -n '' ']'
++ printf %s '-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto '
++ sed -r 's/(^|[[:space:]]+)-[^m][^[:space:]]*//g'
+ ASFLAGS=' '
+ export ASFLAGS
+ export lt_cv_deplibs_check_method=pass_all
+ lt_cv_deplibs_check_method=pass_all
+ readlink -e -- ./configure
+ xargs -ri dirname -- '{}'
+ sort -u
+ xargs -rn1 install -pm755 -- /usr/share/gnu-config/config.sub /usr/share/gnu-config/config.guess
+ xargs -ri find '{}' -type f '(' -name config.sub -or -name config.guess ')' -printf '%h/\n'
+ configure_runstatedir_flags=
+ grep -qF runstatedir=DIR ./configure
+ configure_runstatedir_flags=--runstatedir=/var/run
+ ./configure --build=x86_64-alt-linux --host=x86_64-alt-linux --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/lib --localstatedir=/var/lib --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --disable-silent-rules --runstatedir=/var/run --without-included-gettext --disable-static
configure: WARNING: unrecognized options: --without-included-gettext
checking for x86_64-alt-linux-gcc... x86_64-alt-linux-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether x86_64-alt-linux-gcc accepts -g... yes
checking for x86_64-alt-linux-gcc option to enable C11 features... none needed
checking whether x86_64-alt-linux-gcc understands -c and -o together... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether make supports nested variables... yes
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of x86_64-alt-linux-gcc... none
checking build system type... x86_64-alt-linux-gnu
checking host system type... x86_64-alt-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by x86_64-alt-linux-gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-alt-linux-gnu file names to x86_64-alt-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-alt-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for x86_64-alt-linux-file... no
checking for file... file
checking for x86_64-alt-linux-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... (cached) pass_all
checking for x86_64-alt-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-alt-linux-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for x86_64-alt-linux-strip... no
checking for strip... strip
checking for x86_64-alt-linux-ranlib... no
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from x86_64-alt-linux-gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for x86_64-alt-linux-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-alt-linux-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-alt-linux-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-alt-linux-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-alt-linux-gcc static flag -static works... no
checking if x86_64-alt-linux-gcc supports -c -o file.o... yes
checking if x86_64-alt-linux-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-alt-linux-gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for a sed that does not truncate output... (cached) /bin/sed
checking for x86_64-alt-linux-gcc... (cached) x86_64-alt-linux-gcc
checking whether the compiler supports GNU C... (cached) yes
checking whether x86_64-alt-linux-gcc accepts -g... (cached) yes
checking for x86_64-alt-linux-gcc option to enable C11 features... (cached) none needed
checking whether x86_64-alt-linux-gcc understands -c and -o together... (cached) yes
checking how to run the C preprocessor... x86_64-alt-linux-gcc -E
checking whether x86_64-alt-linux-gcc is Clang... no
checking whether pthreads work with "-pthread" and "-lpthread"... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking whether more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for x86_64-alt-linux-g++... x86_64-alt-linux-g++
checking whether the compiler supports GNU C++... yes
checking whether x86_64-alt-linux-g++ accepts -g... yes
checking for x86_64-alt-linux-g++ option to enable C++11 features... none needed
checking dependency style of x86_64-alt-linux-g++... none
checking how to run the C++ preprocessor... x86_64-alt-linux-g++ -E
checking for ld used by x86_64-alt-linux-g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the x86_64-alt-linux-g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for x86_64-alt-linux-g++ option to produce PIC... -fPIC -DPIC
checking if x86_64-alt-linux-g++ PIC flag -fPIC -DPIC works... yes
checking if x86_64-alt-linux-g++ static flag -static works... no
checking if x86_64-alt-linux-g++ supports -c -o file.o... yes
checking if x86_64-alt-linux-g++ supports -c -o file.o... (cached) yes
checking whether the x86_64-alt-linux-g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for x86_64-alt-linux-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for liburing >= 2.2... yes
checking for io_uring_prep_sendmsg_zc... yes
checking for gnutls >= 2.12.0... yes
checking whether Large File Support should be enabled... yes
checking for doxygen... no
configure: WARNING: Doxygen not found - continue without Doxygen support
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/Makefile
config.status: creating lib/Makefile
config.status: creating tests/Makefile
config.status: creating ublksrv.pc
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
configure: WARNING: unrecognized options: --without-included-gettext
+ make -j16
make  all-recursive
Making all in include
make[2]: Nothing to be done for 'all'.
Making all in lib
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
/bin/sh ../libtool  --tag=CC   --mode=compile x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -DUBLKSRV_INTERNAL_H_    -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o libublksrv_la-utils.lo `test -f 'utils.c' || echo './'`utils.c
libtool: compile:  x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DUBLKSRV_INTERNAL_H_ -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -c utils.c  -fPIC -DPIC -o .libs/libublksrv_la-utils.o
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
/bin/sh ../libtool  --tag=CC   --mode=compile x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -DUBLKSRV_INTERNAL_H_    -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o libublksrv_la-ublksrv_aio.lo `test -f 'ublksrv_aio.c' || echo './'`ublksrv_aio.c
libtool: compile:  x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DUBLKSRV_INTERNAL_H_ -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -c ublksrv_aio.c  -fPIC -DPIC -o .libs/libublksrv_la-ublksrv_aio.o
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
/bin/sh ../libtool  --tag=CC   --mode=compile x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -DUBLKSRV_INTERNAL_H_    -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o libublksrv_la-ublksrv_cmd.lo `test -f 'ublksrv_cmd.c' || echo './'`ublksrv_cmd.c
libtool: compile:  x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DUBLKSRV_INTERNAL_H_ -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -c ublksrv_cmd.c  -fPIC -DPIC -o .libs/libublksrv_la-ublksrv_cmd.o
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
/bin/sh ../libtool  --tag=CC   --mode=compile x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I..  -I../include -DUBLKSRV_INTERNAL_H_    -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o libublksrv_la-ublksrv.lo `test -f 'ublksrv.c' || echo './'`ublksrv.c
libtool: compile:  x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DUBLKSRV_INTERNAL_H_ -pthread -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -c ublksrv.c  -fPIC -DPIC -o .libs/libublksrv_la-ublksrv.o
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
/bin/sh ../libtool  --tag=CXX   --mode=compile x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I. -I..  -I../include -DUBLKSRV_INTERNAL_H_   -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o libublksrv_la-ublksrv_json.lo `test -f 'ublksrv_json.cpp' || echo './'`ublksrv_json.cpp
libtool: compile:  x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I. -I.. -I../include -DUBLKSRV_INTERNAL_H_ -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -c ublksrv_json.cpp  -fPIC -DPIC -o .libs/libublksrv_la-ublksrv_json.o
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
/bin/sh ../libtool  --tag=CXX   --mode=link x86_64-alt-linux-g++  -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -version-info 0:0:0  -o libublksrv.la -rpath /usr/lib64 libublksrv_la-ublksrv_cmd.lo libublksrv_la-ublksrv_json.lo libublksrv_la-ublksrv.lo libublksrv_la-utils.lo libublksrv_la-ublksrv_aio.lo -luring -lpthread 
libtool: link: x86_64-alt-linux-g++  -fPIC -DPIC -shared -nostdlib /usr/lib64/gcc/x86_64-alt-linux/13/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-alt-linux/13/crtbeginS.o  .libs/libublksrv_la-ublksrv_cmd.o .libs/libublksrv_la-ublksrv_json.o .libs/libublksrv_la-ublksrv.o .libs/libublksrv_la-utils.o .libs/libublksrv_la-ublksrv_aio.o   -luring -lpthread -L/usr/lib64/gcc/x86_64-alt-linux/13 -L/usr/lib64/gcc/x86_64-alt-linux/13/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-alt-linux/13/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib64/gcc/x86_64-alt-linux/13/crtendS.o /usr/lib64/gcc/x86_64-alt-linux/13/../../../../lib64/crtn.o  -g -O2 -flto=auto   -Wl,-soname -Wl,libublksrv.so.0 -o .libs/libublksrv.so.0.0.0
libtool: link: (cd ".libs" && rm -f "libublksrv.so.0" && ln -s "libublksrv.so.0.0.0" "libublksrv.so.0")
libtool: link: (cd ".libs" && rm -f "libublksrv.so" && ln -s "libublksrv.so.0.0.0" "libublksrv.so")
libtool: link: ( cd ".libs" && rm -f "libublksrv.la" && ln -s "../libublksrv.la" "libublksrv.la" )
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
Making all in tests
make[2]: Nothing to be done for 'all'.
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I.    -pthread -I./include    -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o utils/ublk_user_id-ublk_user_id.o `test -f 'utils/ublk_user_id.c' || echo './'`utils/ublk_user_id.c
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I.    -pthread -I./include    -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o nbd/ublk-nbd-client.o `test -f 'nbd/nbd-client.c' || echo './'`nbd/nbd-client.c
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I.    -pthread -I./include    -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o nbd/ublk-cliserv.o `test -f 'nbd/cliserv.c' || echo './'`nbd/cliserv.c
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I.    -pthread -I./include    -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o demo_null-demo_null.o `test -f 'demo_null.c' || echo './'`demo_null.c
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I.    -pthread -I./include    -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o demo_event-demo_event.o `test -f 'demo_event.c' || echo './'`demo_event.c
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
/bin/sh ./libtool  --tag=CC   --mode=link x86_64-alt-linux-gcc   -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto    -o ublk_user_id utils/ublk_user_id-ublk_user_id.o lib/libublksrv.la -luring -lpthread 
libtool: link: x86_64-alt-linux-gcc -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -o .libs/ublk_user_id utils/ublk_user_id-ublk_user_id.o  lib/.libs/libublksrv.so -luring -lpthread -pthread
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
/bin/sh ./libtool  --tag=CC   --mode=link x86_64-alt-linux-gcc   -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto    -o demo_null demo_null-demo_null.o lib/libublksrv.la -luring -lpthread 
libtool: link: x86_64-alt-linux-gcc -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -o .libs/demo_null demo_null-demo_null.o  lib/.libs/libublksrv.so -luring -lpthread -pthread
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
/bin/sh ./libtool  --tag=CC   --mode=link x86_64-alt-linux-gcc   -pthread -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto    -o demo_event demo_event-demo_event.o lib/libublksrv.la -luring -lpthread 
libtool: link: x86_64-alt-linux-gcc -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -o .libs/demo_event demo_event-demo_event.o  lib/.libs/libublksrv.so -luring -lpthread -pthread
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o ublk-tgt_null.o `test -f 'tgt_null.cpp' || echo './'`tgt_null.cpp
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o ublk-tgt_loop.o `test -f 'tgt_loop.cpp' || echo './'`tgt_loop.cpp
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o ublk-ublksrv_tgt.o `test -f 'ublksrv_tgt.cpp' || echo './'`ublksrv_tgt.cpp
ublksrv_tgt.cpp: In function 'void ublksrv_drain_fetch_commands(const ublksrv_dev*, ublksrv_queue_info*)':
ublksrv_tgt.cpp:422:23: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  422 |         for (i = 0; i < nr_queues; i++)
      |                     ~~^~~~~~~~~~~
ublksrv_tgt.cpp: In function 'int cmd_dev_get_features(int, char**)':
ublksrv_tgt.cpp:1047:31: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1047 |                 for (i = 0; i < sizeof(features); i++) {
      |                             ~~^~~~~~~~~~~~~~~~~~
ublksrv_tgt.cpp:1052:31: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1052 |                         if (i < sizeof(feat_map) / sizeof(feat_map[0]))
      |                             ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ublksrv_tgt.cpp: In function 'int __cmd_dev_user_recover(int, bool)':
ublksrv_tgt.cpp:1113:29: warning: comparison of integer expressions of different signedness: '__u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
 1113 |         if (dev_info.dev_id != number) {
      |             ~~~~~~~~~~~~~~~~^~~~~~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o nbd/ublk-tgt_nbd.o `test -f 'nbd/tgt_nbd.cpp' || echo './'`nbd/tgt_nbd.cpp
nbd/tgt_nbd.cpp: In function 'int nbd_do_recv(const ublksrv_queue*, nbd_io_data*, int, void*, unsigned int)':
nbd/tgt_nbd.cpp:421:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  421 |         while (i++ < loops && done < len) {
      |                               ~~~~~^~~~~
nbd/tgt_nbd.cpp:429:18: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  429 |         if (done == len)
      |             ~~~~~^~~~~~
nbd/tgt_nbd.cpp: In function 'co_io_job __nbd_handle_recv(const ublksrv_queue*, const ublk_io_data*, ublk_io_tgt*)':
nbd/tgt_nbd.cpp:487:25: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  487 |                 if (ret == len) {
      |                     ~~~~^~~~~~
nbd/tgt_nbd.cpp: In function 'void nbd_send_req_done(const ublksrv_queue*, const ublk_io_data*, const io_uring_cqe*)':
nbd/tgt_nbd.cpp:569:22: warning: comparison of integer expressions of different signedness: 'const __s32' {aka 'const int'} and 'unsigned int' [-Wsign-compare]
  569 |         if (cqe->res < total)
      |             ~~~~~~~~~^~~~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o qcow2/ublk-qcow2_flush_meta.o `test -f 'qcow2/qcow2_flush_meta.cpp' || echo './'`qcow2/qcow2_flush_meta.cpp
In file included from qcow2/qcow2.h:16,
                 from qcow2/qcow2_flush_meta.cpp:2:
qcow2/qcow2_meta.h: In member function 'uint32_t Qcow2TopTable::dirty_blks()':
qcow2/qcow2_meta.h:435:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  435 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.h: In member function 'int Qcow2TopTable::get_1st_dirty_blk()':
qcow2/qcow2_meta.h:446:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  446 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2.h: In member function 'bool Qcow2ClusterMapping::__entry_is_allocating(uint64_t)':
qcow2/qcow2.h:215:30: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  215 |                 return state != -1;
      |                        ~~~~~~^~~~~
In file included from qcow2/qcow2_common.h:5,
                 from qcow2/qcow2_meta.h:5:
qcow2/qcow2.h: In member function 'uint32_t Qcow2ClusterMapping::entry_get_alloc_owner(uint64_t, bool)':
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
In file included from ./include/ublksrv.h:15,
                 from ./include/ublksrv_tgt.h:23:
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp: In member function 'void MetaFlushingState::__prep_write_slice(Qcow2State&, const ublksrv_queue*)':
qcow2/qcow2_flush_meta.cpp:237:46: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  237 |                 qcow2_assert(idx >= 0 && idx < top.get_nr_entries());
      |                                          ~~~~^~~~~~~~~~~~~~~~~~~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2_flush_meta.cpp:237:17: note: in expansion of macro 'qcow2_assert'
  237 |                 qcow2_assert(idx >= 0 && idx < top.get_nr_entries());
      |                 ^~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp:237:46: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  237 |                 qcow2_assert(idx >= 0 && idx < top.get_nr_entries());
      |                                          ~~~~^~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp:237:17: note: in expansion of macro 'qcow2_assert'
  237 |                 qcow2_assert(idx >= 0 && idx < top.get_nr_entries());
      |                 ^~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp: In member function 'void MetaFlushingState::run_flush(Qcow2State&, const ublksrv_queue*, int)':
qcow2/qcow2_flush_meta.cpp:363:53: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  363 |                 if (top_blk_idx >= 0 && top_blk_idx < top.dirty_blk_size()) {
      |                                         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp: In constructor 'Qcow2MetaFlushing::Qcow2MetaFlushing(Qcow2State&)':
qcow2/qcow2_flush_meta.cpp:537:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  537 |         for (int i = 0; i < tags.size(); i++)
      |                         ~~^~~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp: In member function 'void Qcow2MetaFlushing::free_tag(const ublksrv_queue*, int)':
qcow2/qcow2_flush_meta.cpp:554:42: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  554 |         qcow2_assert(tag >= depth && tag < depth + tags.size());
      |                                      ~~~~^~~~~~~~~~~~~~~~~~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2_flush_meta.cpp:554:9: note: in expansion of macro 'qcow2_assert'
  554 |         qcow2_assert(tag >= depth && tag < depth + tags.size());
      |         ^~~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp:554:42: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  554 |         qcow2_assert(tag >= depth && tag < depth + tags.size());
      |                                      ~~~~^~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2_flush_meta.cpp:554:9: note: in expansion of macro 'qcow2_assert'
  554 |         qcow2_assert(tag >= depth && tag < depth + tags.size());
      |         ^~~~~~~~~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o qcow2/ublk-utils.o `test -f 'qcow2/utils.cpp' || echo './'`qcow2/utils.cpp
In file included from qcow2/qcow2.h:16,
                 from qcow2/utils.cpp:4:
qcow2/qcow2_meta.h: In member function 'uint32_t Qcow2TopTable::dirty_blks()':
qcow2/qcow2_meta.h:435:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  435 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.h: In member function 'int Qcow2TopTable::get_1st_dirty_blk()':
qcow2/qcow2_meta.h:446:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  446 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2.h: In member function 'bool Qcow2ClusterMapping::__entry_is_allocating(uint64_t)':
qcow2/qcow2.h:215:30: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  215 |                 return state != -1;
      |                        ~~~~~~^~~~~
In file included from qcow2/qcow2_common.h:5,
                 from qcow2/qcow2_meta.h:5:
qcow2/qcow2.h: In member function 'uint32_t Qcow2ClusterMapping::entry_get_alloc_owner(uint64_t, bool)':
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
In file included from ./include/ublksrv.h:15,
                 from ./include/ublksrv_tgt.h:23:
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o qcow2/ublk-tgt_qcow2.o `test -f 'qcow2/tgt_qcow2.cpp' || echo './'`qcow2/tgt_qcow2.cpp
In file included from qcow2/qcow2.h:16,
                 from qcow2/tgt_qcow2.cpp:4:
qcow2/qcow2_meta.h: In member function 'uint32_t Qcow2TopTable::dirty_blks()':
qcow2/qcow2_meta.h:435:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  435 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.h: In member function 'int Qcow2TopTable::get_1st_dirty_blk()':
qcow2/qcow2_meta.h:446:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  446 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2.h: In member function 'bool Qcow2ClusterMapping::__entry_is_allocating(uint64_t)':
qcow2/qcow2.h:215:30: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  215 |                 return state != -1;
      |                        ~~~~~~^~~~~
In file included from qcow2/tgt_qcow2.cpp:2:
qcow2/qcow2.h: In member function 'uint32_t Qcow2ClusterMapping::entry_get_alloc_owner(uint64_t, bool)':
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
In file included from /usr/include/c++/13/cassert:44,
                 from /usr/include/c++/13/x86_64-alt-linux/bits/stdc++.h:106,
                 from qcow2/qcow2.h:10:
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
qcow2/tgt_qcow2.cpp: In function 'co_io_job __qcow2_handle_io_async(const ublksrv_queue*, const ublk_io_data*, int)':
qcow2/tgt_qcow2.cpp:382:26: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  382 |         if (mapped_start == -1) {
      |             ~~~~~~~~~~~~~^~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o qcow2/ublk-qcow2_meta.o `test -f 'qcow2/qcow2_meta.cpp' || echo './'`qcow2/qcow2_meta.cpp
In file included from qcow2/qcow2.h:16,
                 from qcow2/qcow2_meta.cpp:4:
qcow2/qcow2_meta.h: In member function 'uint32_t Qcow2TopTable::dirty_blks()':
qcow2/qcow2_meta.h:435:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  435 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.h: In member function 'int Qcow2TopTable::get_1st_dirty_blk()':
qcow2/qcow2_meta.h:446:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  446 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2.h: In member function 'bool Qcow2ClusterMapping::__entry_is_allocating(uint64_t)':
qcow2/qcow2.h:215:30: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  215 |                 return state != -1;
      |                        ~~~~~~^~~~~
In file included from qcow2/qcow2_common.h:5,
                 from qcow2/qcow2_meta.h:5:
qcow2/qcow2.h: In member function 'uint32_t Qcow2ClusterMapping::entry_get_alloc_owner(uint64_t, bool)':
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
In file included from ./include/ublksrv.h:15,
                 from ./include/ublksrv_tgt.h:23:
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'virtual int Qcow2Meta::flush(Qcow2State&, const qcow2_io_ctx_t&, uint64_t, uint32_t)':
qcow2/qcow2_meta.cpp:100:17: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  100 |         if (len != ret)
      |             ~~~~^~~~~~
qcow2/qcow2_meta.cpp: In constructor 'Qcow2HeaderExtFeatureNameTable::Qcow2HeaderExtFeatureNameTable(char*, uint64_t)':
qcow2/qcow2_meta.cpp:121:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::size_t' {aka 'long unsigned int'} [-Wsign-compare]
  121 |         for (int i = 0; i < __a.size(); i++) {
      |                         ~~^~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'virtual void Qcow2HeaderExtFeatureNameTable::dump() const':
qcow2/qcow2_meta.cpp:133:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::size_t' {aka 'long unsigned int'} [-Wsign-compare]
  133 |         for (int i = 0; i < __a.size(); i++)
      |                         ~~^~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'int Qcow2Header::populate()':
qcow2/qcow2_meta.cpp:238:28: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
  238 |                 start += 8 + (ext.len + 7) & ~0x7ULL;
      |                          ~~^~~~~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In constructor 'Qcow2TopTable::Qcow2TopTable(Qcow2State&, uint64_t, uint32_t, const char*, uint32_t)':
qcow2/qcow2_meta.cpp:378:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  378 |         for (int i = 0; i < dirty.size(); i++)
      |                         ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'virtual int Qcow2TopTable::flush(Qcow2State&, const qcow2_io_ctx_t&, uint64_t, uint32_t)':
qcow2/qcow2_meta.cpp:423:44: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  423 |         qcow2_assert(len == 512 && blk_idx < dirty.size());
      |                                    ~~~~~~~~^~~~~~~~~~~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2_meta.cpp:423:9: note: in expansion of macro 'qcow2_assert'
  423 |         qcow2_assert(len == 512 && blk_idx < dirty.size());
      |         ^~~~~~~~~~~~
qcow2/qcow2_meta.cpp:423:44: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  423 |         qcow2_assert(len == 512 && blk_idx < dirty.size());
      |                                    ~~~~~~~~^~~~~~~~~~~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2_meta.cpp:423:9: note: in expansion of macro 'qcow2_assert'
  423 |         qcow2_assert(len == 512 && blk_idx < dirty.size());
      |         ^~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'void Qcow2L1Table::dump()':
qcow2/qcow2_meta.cpp:497:27: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  497 |         for (int i = 0; i < header.get_l1_size(); i++)
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'void Qcow2RefcountTable::dump()':
qcow2/qcow2_meta.cpp:540:27: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
  540 |         for (int i = 0; i < data_len / 8; i++) {
      |                         ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'virtual void Qcow2SliceMeta::wait_clusters(Qcow2State&, const qcow2_io_ctx_t&)':
qcow2/qcow2_meta.cpp:799:61: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
  799 |                                 cluster_off = virt_offset() + (u64)i << qs.header.cluster_bits;
      |                                               ~~~~~~~~~~~~~~^~~~~~~~
qcow2/qcow2_meta.cpp: In member function 'void Qcow2SliceMeta::reclaim_me()':
qcow2/qcow2_meta.cpp:827:27: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  827 |         for (int i = 0; i < queues; i++) {
      |                         ~~^~~~~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I.    -pthread -I./include  -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto  -c -o qcow2/ublk-qcow2.o `test -f 'qcow2/qcow2.cpp' || echo './'`qcow2/qcow2.cpp
In file included from qcow2/qcow2.h:16,
                 from qcow2/qcow2.cpp:2:
qcow2/qcow2_meta.h: In member function 'uint32_t Qcow2TopTable::dirty_blks()':
qcow2/qcow2_meta.h:435:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  435 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2_meta.h: In member function 'int Qcow2TopTable::get_1st_dirty_blk()':
qcow2/qcow2_meta.h:446:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  446 |                 for (int i = 0; i < dirty.size(); i++)
      |                                 ~~^~~~~~~~~~~~~~
qcow2/qcow2.h: In member function 'bool Qcow2ClusterMapping::__entry_is_allocating(uint64_t)':
qcow2/qcow2.h:215:30: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  215 |                 return state != -1;
      |                        ~~~~~~^~~~~
In file included from qcow2/qcow2_common.h:5,
                 from qcow2/qcow2_meta.h:5:
qcow2/qcow2.h: In member function 'uint32_t Qcow2ClusterMapping::entry_get_alloc_owner(uint64_t, bool)':
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
./include/ublksrv_tgt.h:26:15: note: in definition of macro 'ublk_assert'
   26 |         if (!(x)) {     \
      |               ^
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
In file included from ./include/ublksrv.h:15,
                 from ./include/ublksrv_tgt.h:23:
qcow2/qcow2.h:268:36: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  268 |                 qcow2_assert(state != -1);
      |                              ~~~~~~^~~~~
qcow2/qcow2_common.h:7:26: note: in expansion of macro 'ublk_assert'
    7 | #define qcow2_assert(x)  ublk_assert(x)
      |                          ^~~~~~~~~~~
qcow2/qcow2.h:268:17: note: in expansion of macro 'qcow2_assert'
  268 |                 qcow2_assert(state != -1);
      |                 ^~~~~~~~~~~~
qcow2/qcow2.cpp: In member function 'uint32_t Qcow2State::add_meta_io(uint32_t, Qcow2MappingMeta*)':
qcow2/qcow2.cpp:112:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<Qcow2MappingMeta*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  112 |         for (i = 0; i < v.size(); i++)
      |                     ~~^~~~~~~~~~
qcow2/qcow2.cpp:115:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<Qcow2MappingMeta*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  115 |         if (i < v.size()) {
      |             ~~^~~~~~~~~~
qcow2/qcow2.cpp: In member function 'uint64_t Qcow2ClusterAllocator::allocate_cluster(const qcow2_io_ctx_t&)':
qcow2/qcow2.cpp:699:25: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'unsigned int' [-Wsign-compare]
  699 |         if (++slice_idx < cache.get_nr_slices())
      |             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
qcow2/qcow2.cpp: In member function 'Qcow2L2Table* Qcow2ClusterMapping::create_and_add_l2(const qcow2_io_ctx_t&, uint64_t)':
qcow2/qcow2.cpp:798:24: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  798 |         if (l2_cluster == -1) {
      |             ~~~~~~~~~~~^~~~~
qcow2/qcow2.cpp: In member function 'int Qcow2ClusterMapping::build_mapping(const qcow2_io_ctx_t&, uint64_t, Qcow2L2Table*, uint32_t, uint64_t*)':
qcow2/qcow2.cpp:909:26: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  909 |         if (data_cluster == -1) {
      |             ~~~~~~~~~~~~~^~~~~
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
/bin/sh ./libtool  --tag=CXX   --mode=link x86_64-alt-linux-g++ -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto    -o ublk ublk-ublksrv_tgt.o ublk-tgt_null.o ublk-tgt_loop.o qcow2/ublk-tgt_qcow2.o qcow2/ublk-qcow2.o qcow2/ublk-qcow2_meta.o qcow2/ublk-utils.o qcow2/ublk-qcow2_flush_meta.o nbd/ublk-tgt_nbd.o nbd/ublk-cliserv.o nbd/ublk-nbd-client.o lib/libublksrv.la -luring -lpthread 
libtool: link: x86_64-alt-linux-g++ -fcoroutines -std=c++20 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -o .libs/ublk ublk-ublksrv_tgt.o ublk-tgt_null.o ublk-tgt_loop.o qcow2/ublk-tgt_qcow2.o qcow2/ublk-qcow2.o qcow2/ublk-qcow2_meta.o qcow2/ublk-utils.o qcow2/ublk-qcow2_flush_meta.o nbd/ublk-tgt_nbd.o nbd/ublk-cliserv.o nbd/ublk-nbd-client.o  lib/.libs/libublksrv.so -luring -lpthread
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.44340
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/ubdsrv-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/ubdsrv-buildroot
+ PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games
+ cd ubdsrv-1.1
+ make 'INSTALL=/usr/libexec/rpm-build/install -p' install DESTDIR=/usr/src/tmp/ubdsrv-buildroot
make: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
Making install in include
make[1]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/include'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/include'
make[2]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/usr/src/tmp/ubdsrv-buildroot/usr/include'
 /usr/libexec/rpm-build/install -p -m 644 ublksrv.h ublk_cmd.h ublksrv_aio.h ublksrv_utils.h '/usr/src/tmp/ubdsrv-buildroot/usr/include'
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/include'
make[1]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/include'
Making install in lib
make[1]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
 /bin/mkdir -p '/usr/src/tmp/ubdsrv-buildroot/usr/lib64'
 /bin/sh ../libtool   --mode=install /usr/libexec/rpm-build/install -p   libublksrv.la '/usr/src/tmp/ubdsrv-buildroot/usr/lib64'
libtool: install: /usr/libexec/rpm-build/install -p .libs/libublksrv.so.0.0.0 /usr/src/tmp/ubdsrv-buildroot/usr/lib64/libublksrv.so.0.0.0
libtool: install: (cd /usr/src/tmp/ubdsrv-buildroot/usr/lib64 && { ln -s -f libublksrv.so.0.0.0 libublksrv.so.0 || { rm -f libublksrv.so.0 && ln -s libublksrv.so.0.0.0 libublksrv.so.0; }; })
libtool: install: (cd /usr/src/tmp/ubdsrv-buildroot/usr/lib64 && { ln -s -f libublksrv.so.0.0.0 libublksrv.so || { rm -f libublksrv.so && ln -s libublksrv.so.0.0.0 libublksrv.so; }; })
libtool: install: /usr/libexec/rpm-build/install -p .libs/libublksrv.lai /usr/src/tmp/ubdsrv-buildroot/usr/lib64/libublksrv.la
libtool: warning: remember to run 'libtool --finish /usr/lib64'
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
make[1]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/lib'
Making install in tests
make[1]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/tests'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1/tests'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/tests'
make[1]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1/tests'
make[1]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[2]: Entering directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
 /bin/mkdir -p '/usr/src/tmp/ubdsrv-buildroot/usr/sbin'
 /usr/libexec/rpm-build/install -p utils/ublk_chown.sh utils/ublk_chown_docker.sh '/usr/src/tmp/ubdsrv-buildroot/usr/sbin'
 /bin/mkdir -p '/usr/src/tmp/ubdsrv-buildroot/usr/sbin'
  /bin/sh ./libtool   --mode=install /usr/libexec/rpm-build/install -p ublk ublk_user_id '/usr/src/tmp/ubdsrv-buildroot/usr/sbin'
libtool: warning: 'lib/libublksrv.la' has not been installed in '/usr/lib64'
libtool: install: /usr/libexec/rpm-build/install -p .libs/ublk /usr/src/tmp/ubdsrv-buildroot/usr/sbin/ublk
libtool: warning: 'lib/libublksrv.la' has not been installed in '/usr/lib64'
libtool: install: /usr/libexec/rpm-build/install -p .libs/ublk_user_id /usr/src/tmp/ubdsrv-buildroot/usr/sbin/ublk_user_id
 /bin/mkdir -p '/usr/src/tmp/ubdsrv-buildroot/usr/lib64/pkgconfig'
 /usr/libexec/rpm-build/install -p -m 644 ublksrv.pc '/usr/src/tmp/ubdsrv-buildroot/usr/lib64/pkgconfig'
make[2]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make[1]: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
make: Leaving directory '/usr/src/RPM/BUILD/ubdsrv-1.1'
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/ubdsrv-buildroot (auto)
removed './usr/lib64/libublksrv.la'
mode of './usr/lib64/libublksrv.so.0.0.0' changed from 0755 (rwxr-xr-x) to 0644 (rw-r--r--)
Verifying and fixing files in /usr/src/tmp/ubdsrv-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig)
Checking contents of files in /usr/src/tmp/ubdsrv-buildroot/ (default)
Compressing files in /usr/src/tmp/ubdsrv-buildroot (auto)
Adjusting library links in /usr/src/tmp/ubdsrv-buildroot
./usr/lib64: (from <cmdline>:0)
	libublksrv.so.0 -> libublksrv.so.0.0.0
Verifying ELF objects in /usr/src/tmp/ubdsrv-buildroot (arch=strict,fhs=strict,lfs=strict,lint=strict,rpath=strict,stack=strict,textrel=strict,unresolved=strict)
Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.93714
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd ubdsrv-1.1
+ ./ublk --version
ublksrv 1.1
+ truncate -s 256M disk.img
+ vm-run --kvm=cond --sbin --cpu=2 --modules=ublk_drv --heredoc
+ time qemu-system-x86_64 -enable-kvm -m 437710 -smp cores=2 -serial mon:stdio -nodefaults -nographic -no-reboot -fsdev local,id=root,path=/,security_model=none,multidevs=remap -device virtio-9p-pci,fsdev=root,mount_tag=virtio-9p:/ -device virtio-rng-pci -kernel /boot/vmlinuz-6.5.9-un-def-alt1 -initrd /usr/src/tmp/initramfs-6.5.9-un-def-alt1.img -sandbox on,spawn=deny -bios bios.bin -append 'console=ttyS0 mitigations=off nokaslr quiet panic=-1 SCRIPT=/usr/src/tmp/vm.OAhmiozz21 no_timer_check'
++ ./ublk features
ublk_drv features: 0xfe
	COMP_IN_TASK        : 0x2
	GET_DATA            : 0x4
	USER_RECOVERY       : 0x8
	RECOVERY_REISSUE    : 0x10
	UNPRIVILEGED_DEV    : 0x20
	CMD_IOCTL_ENCODE    : 0x40
	unknown             : 0x80
++ ./ublk list
++ ./ublk add -t loop -f disk.img
dev id 0: nr_hw_queues 1 queue_depth 128 block size 512 dev_capacity 524288
	max rq size 524288 daemon pid 277 flags 0x42 state LIVE
	ublkc: 244:0 ublkb: 259:0 owner: 0:0
	queue 0: tid 278 affinity(0 1 )
	target {"backing_file":"disk.img","dev_size":268435456,"direct_io":0,"name":"loop","type":1}
++ ./ublk add -t null
dev id 1: nr_hw_queues 1 queue_depth 128 block size 512 dev_capacity 524288000
	max rq size 524288 daemon pid 296 flags 0x42 state LIVE
	ublkc: 244:1 ublkb: 259:1 owner: 0:0
	queue 0: tid 297 affinity(0 1 )
	target {"dev_size":268435456000,"name":"null","type":0}
++ ls -l /dev/ublk-control /dev/ublkb0 /dev/ublkb1 /dev/ublkc0 /dev/ublkc1
crw------- 1 root root  10, 123 Oct 28 00:03 /dev/ublk-control
brw------- 1 root root 259,   0 Oct 28 00:03 /dev/ublkb0
brw------- 1 root root 259,   1 Oct 28 00:03 /dev/ublkb1
crw------- 1 root root 244,   0 Oct 28 00:03 /dev/ublkc0
crw------- 1 root root 244,   1 Oct 28 00:03 /dev/ublkc1
++ badblocks -w -s /dev/ublkb0 2048
++ grep -c .
Testing with pattern 0xaa:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Testing with pattern 0x55:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Testing with pattern 0xff:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Testing with pattern 0x00:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
0
++ echo 'No corruption'
No corruption
++ badblocks -w -s /dev/ublkb1 1024
++ grep -c .
Testing with pattern 0xaa:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/0 errors)done                                                 
Testing with pattern 0x55:   0.00% done, 0:00 elapsed. (0/0/960 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/960 errors)done                                                 
Testing with pattern 0xff:   0.00% done, 0:00 elapsed. (0/0/1024 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/1024 errors)done                                                 
Testing with pattern 0x00:   0.00% done, 0:00 elapsed. (0/0/1024 errors)done                                                 
Reading and comparing:   0.00% done, 0:00 elapsed. (0/0/1024 errors)done                                                 
1024
++ echo 'No false positive'
No false positive
++ ./ublk del -n 0
++ ./ublk del -n 1
2.42user 1.35system 0:03.79elapsed 99%CPU (0avgtext+0avgdata 7553248maxresident)k
0inputs+0outputs (0major+23134minor)pagefaults 0swaps
+ exit 0
Processing files: ubdsrv-1.1-alt1
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.44282
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd ubdsrv-1.1
+ DOCDIR=/usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.1
+ export DOCDIR
+ rm -rf /usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.1
+ /bin/mkdir -p /usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.1
+ cp -prL COPYING COPYING.LGPL LICENSE README.rst demo_event.c demo_null.c /usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.1
+ chmod -R go-w /usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.1
+ chmod -R a+rX /usr/src/tmp/ubdsrv-buildroot/usr/share/doc/ubdsrv-1.1
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.N0HhLv
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
lib.prov: /usr/src/tmp/ubdsrv-buildroot/usr/lib64/libublksrv.so.0: 95 symbols, 17 bpp
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.wOFdX2
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
find-requires: FINDPACKAGE-COMMANDS: chown dirname docker grep ps
Provides: libublksrv.so.0()(64bit) = set:kd37SciuxgtEVAlt8jJiFhCZaDjjyryGwU7wGZGxunotg5taG7p98H8ZFMZBoIp5lBzCtF9jqxNm4a7hgxY0FruJCs1AwZ8u5IJz78r5IYr6GwKujpk6Kij0Ja5mPUcCoMiOAb68u5Fx7CDACY31C5sSXZqJ0Pmp6C3cOarQ3ueYWSE6CylDlF2ChhpHdq2Ba
Requires: /bin/bash, /lib64/ld-linux-x86-64.so.2, /usr/bin/docker, coreutils, grep, libc.so.6(GLIBC_2.14)(64bit), libc.so.6(GLIBC_2.2.5)(64bit), libc.so.6(GLIBC_2.3.4)(64bit), libc.so.6(GLIBC_2.32)(64bit), libc.so.6(GLIBC_2.33)(64bit), libc.so.6(GLIBC_2.34)(64bit), libc.so.6(GLIBC_2.38)(64bit), libc.so.6(GLIBC_2.4)(64bit), libc.so.6(GLIBC_2.7)(64bit), libc.so.6(GLIBC_2.8)(64bit), libgcc_s.so.1(GCC_3.0)(64bit), libgcc_s.so.1(GCC_3.3.1)(64bit), libstdc++.so.6(CXXABI_1.3)(64bit), libstdc++.so.6(CXXABI_1.3.9)(64bit), libstdc++.so.6(GLIBCXX_3.4)(64bit), libstdc++.so.6(GLIBCXX_3.4.11)(64bit), libstdc++.so.6(GLIBCXX_3.4.14)(64bit), libstdc++.so.6(GLIBCXX_3.4.15)(64bit), libstdc++.so.6(GLIBCXX_3.4.18)(64bit), libstdc++.so.6(GLIBCXX_3.4.19)(64bit), libstdc++.so.6(GLIBCXX_3.4.21)(64bit), libstdc++.so.6(GLIBCXX_3.4.29)(64bit), libstdc++.so.6(GLIBCXX_3.4.32)(64bit), libstdc++.so.6(GLIBCXX_3.4.9)(64bit), liburing.so.2()(64bit) >= set:jfBnRQmra5Z7QIjRHzpE1u48l2, liburing.so.2(LIBURING_2.0)(64bit), liburing.so.2(LIBURING_2.1)(64bit), liburing.so.2(LIBURING_2.2)(64bit), procps, rtld(GNU_HASH)
Requires(rpmlib): rpmlib(SetVersions)
Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.LbPj6h
Creating ubdsrv-debuginfo package
Processing files: libublksrv-devel-1.1-alt1
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.nb7pJT
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.Qv1Ti8
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
Provides: pkgconfig(ublksrv) = 1.1
Requires: ubdsrv = 1.1-alt1, /usr/lib64/libublksrv.so.0.0.0, /usr/lib64/pkgconfig, glibc-kernheaders-generic, liburing-devel, pkgconfig(liburing)
Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.eSpIeU
Processing files: ubdsrv-debuginfo-1.1-alt1
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.LLPsUN
find-provides: running scripts (debuginfo)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.STVzkQ
find-requires: running scripts (debuginfo)
Provides: debug64(libublksrv.so.0)
Requires: ubdsrv = 1.1-alt1, /usr/lib/debug/lib64/ld-linux-x86-64.so.2.debug, debug64(libc.so.6), debug64(libgcc_s.so.1), debug64(libstdc++.so.6), debug64(liburing.so.2)
Adding to libublksrv-devel a strict dependency on ubdsrv
Adding to ubdsrv-debuginfo a strict dependency on ubdsrv
Removing 1 extra deps from libublksrv-devel due to dependency on ubdsrv
Wrote: /usr/src/RPM/RPMS/x86_64/ubdsrv-1.1-alt1.x86_64.rpm (w2.lzdio)
Wrote: /usr/src/RPM/RPMS/x86_64/libublksrv-devel-1.1-alt1.x86_64.rpm (w2.lzdio)
Wrote: /usr/src/RPM/RPMS/x86_64/ubdsrv-debuginfo-1.1-alt1.x86_64.rpm (w2.lzdio)
32.01user 5.28system 0:28.06elapsed 132%CPU (0avgtext+0avgdata 7553248maxresident)k
0inputs+0outputs (0major+2153938minor)pagefaults 0swaps
3.25user 1.23system 0:43.92elapsed 10%CPU (0avgtext+0avgdata 127168maxresident)k
194960inputs+0outputs (0major+249186minor)pagefaults 0swaps