Package: blktrace
Version: 1.3.0-0.1
Severity: serious
Tags: ftbfs patch
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: a.dog.will.t...@akane.waseda.jp

Dear Maintainer,

Blktrace has not migrated to testing due to missing builds on mips64el and 
ppc64el.
Below are the details.

* What led up to the situation?

Blktrace for unstable has been updated to version 1.3.0-0.1, but it has not 
migrated to testing due to missing builds on mips64el and ppc64el.
According to the build log, the build process fails with the following error on 
both mips64el and ppc64el:

dh_auto_build --no-parallel -- 
CFLAGS="-D__DEB_CANARY_CPPFLAGS_31b91e3a8737fd8dd3d4b0c8c679049b__ -Wdate-time 
-D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration 
-Werror=array-bounds -Werror=clobbered -Werror=volatile-register-var 
-D__DEB_CANARY_CFLAGS_31b91e3a8737fd8dd3d4b0c8c679049b__ 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wall -Wextra -Wno-shadow -Werror -g 
-Wl,-z,deb-canary-31b91e3a8737fd8dd3d4b0c8c679049b -Wl,-z,relro -Wl,-z,now" all 
docs
        make -j1 "INSTALL=install --strip-program=true" 
"CFLAGS=-D__DEB_CANARY_CPPFLAGS_31b91e3a8737fd8dd3d4b0c8c679049b__ -Wdate-time 
-D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration 
-Werror=array-bounds -Werror=clobbered -Werror=volatile-register-var 
-D__DEB_CANARY_CFLAGS_31b91e3a8737fd8dd3d4b0c8c679049b__ 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wall -Wextra -Wno-shadow -Werror -g 
-Wl,-z,deb-canary-31b91e3a8737fd8dd3d4b0c8c679049b -Wl,-z,relro -Wl,-z,now" all 
docs
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -o blkparse.o -c -D__DEB_CANARY_CPPFLAGS_31b91e3a8737fd8dd3d4b0c8c679049b__ 
-Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration 
-Werror=array-bounds -Werror=clobbered -Werror=volatile-register-var 
-D__DEB_CANARY_CFLAGS_31b91e3a8737fd8dd3d4b0c8c679049b__ 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wall -Wextra -Wno-shadow -Werror -g 
-Wl,-z,deb-canary-31b91e3a8737fd8dd3d4b0c8c679049b -Wl,-z,relro -Wl,-z,now 
-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 blkparse.c
blkparse.c: In function ‘io_warn_unless’:
blkparse.c:343:36: error: format ‘%llu’ expects argument of type ‘long long 
unsigned int’, but argument 4 has type ‘__u64’ {aka ‘long unsigned int’} 
[-Werror=format=]
  343 |         printf("(%d,%d) request %llu + %u: ",
      |                                 ~~~^
      |                                    |
      |                                    long long unsigned int
      |                                 %lu
  344 |                MAJOR(t->device), MINOR(t->device),
  345 |                t->sector, t->bytes);
      |                ~~~~~~~~~            
      |                 |
      |                 __u64 {aka long unsigned int}
cc1: all warnings being treated as errors


* What exactly did you do (or not do) that was effective (or
     ineffective)?

The first step I took was updating the source code to version 1.3.0.
Additionally, the updated source code was built on top of the latest Sid as of 
August 22, 2024, whereas the build against version 1.2.0-5 took place on an 
older version of Sid on February 25, 2019.
These steps led to the issue in question.

For more details, compare the following build logs:
https://buildd.debian.org/status/logs.php?suite=sid&arch=ppc64el&pkg=blktrace&ver=1.3.0-0.1
https://buildd.debian.org/status/logs.php?suite=sid&arch=ppc64el&pkg=blktrace&ver=1.2.0-5
https://buildd.debian.org/status/logs.php?suite=sid&arch=mips64el&pkg=blktrace&ver=1.3.0-0.1
https://buildd.debian.org/status/logs.php?suite=sid&arch=mips64el&pkg=blktrace&ver=1.2.0-5

* What was the outcome of this action?

The build fails on mips64el and ppc64el, blocking the migration for blktrace as 
follows.

- Migration status for blktrace (1.2.0-5 to 1.3.0-0.1): BLOCKED: Maybe 
temporary, maybe blocked but Britney is missing information (check below)
- Issues preventing migration:
  - missing build on mips64el
  - missing build on ppc64el
  - arch:ppc64el not built yet, autopkgtest delayed there

For more details, see https://qa.debian.org/excuses.php?package=blktrace

* What outcome did you expect instead?

The blktrace package is successfully built on mips64el and ppc64el, and the 
migration process completes.

The attached patch will help resolve this issue.

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: s390x, arm64

Kernel: Linux 5.16.0-1-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages blktrace depends on:
ii  libaio1  0.3.113-5
ii  libc6    2.39-7
ii  python3  3.12.5-1

Versions of packages blktrace recommends:
pn  ffmpeg         <none>
pn  librsvg2-bin   <none>
pn  libtheora-bin  <none>

Versions of packages blktrace suggests:
pn  gnuplot-x11  <none>

-- no debconf information
>From 370d5fd6c85c320fd11fbcde8d691f67bfa4829f Mon Sep 17 00:00:00 2001
From: Fukui Daichi <a.dog.will.t...@akane.waseda.jp>
Date: Fri, 20 Sep 2024 02:18:07 +0000
Subject: [PATCH] Add patch for build failure on mips64el and ppc64el

---
 ...-build-failure-with-format-incompatibility.patch | 13 +++++++++++++
 debian/patches/series                               |  1 +
 2 files changed, 14 insertions(+)
 create mode 100644 
debian/patches/Fix-build-failure-with-format-incompatibility.patch

diff --git a/debian/patches/Fix-build-failure-with-format-incompatibility.patch 
b/debian/patches/Fix-build-failure-with-format-incompatibility.patch
new file mode 100644
index 0000000..1f81d8b
--- /dev/null
+++ b/debian/patches/Fix-build-failure-with-format-incompatibility.patch
@@ -0,0 +1,13 @@
+diff --git a/blkparse.c b/blkparse.c
+index f88204a..e6c5fe2 100644
+--- a/blkparse.c
++++ b/blkparse.c
+@@ -342,7 +342,7 @@ static void io_warn_unless(struct blk_io_trace *t, int 
condition,
+       va_start(ap, fmt);
+       printf("(%d,%d) request %llu + %u: ",
+              MAJOR(t->device), MINOR(t->device),
+-             t->sector, t->bytes);
++             (unsigned long long) t->sector, t->bytes);
+       vfprintf(stderr, fmt, ap);
+       va_end(ap);
+ }
diff --git a/debian/patches/series b/debian/patches/series
index 87aeadc..325dcb8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,4 @@ spelling.patch
 11_buffer_overflow.patch
 Ask-for-python3-specifically.patch
 0007-Fix-groff-warning.patch
+Fix-build-failure-with-format-incompatibility.patch
-- 
2.45.2

Reply via email to