Subject: Libaio on core-updates
From: Andreas Enge <[email-masked]>
To: [email-masked]
Cc: Ludovic Courtès <[email-masked]>
Date: Fri, 10 Mar 2023 16:23:00 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Libaio has started to fail on core-updates; this is very annoying since:
Building the following 1068 packages would ensure 2078 dependent packages are rebuilt,
among which qt@5 and gnome.

Here is the result of "git bisect":
0ad86e94f518c70690641c1d6f3a04037974a25b is the first bad commit
commit 0ad86e94f518c70690641c1d6f3a04037974a25b
Author: Ludovic Courtès <[email-masked]>
Date:   Thu Mar 9 13:08:53 2023 +0100
    gnu: libstdc++: Fix cross-compilation.
    * gnu/packages/gcc.scm (make-libstdc++): Adjust 'hide-gcc-headers' for
    cross-compiled libstdc++.

Hm, that is supposed to only affect cross compilation, but apparently it broke
something on native compilation for x86_64.

Andreas

In file included from main.c:24:
cases/23.t: In function ‘thrproc2’:
cases/23.t:82:35: error: passing argument 2 of ‘splice’ from incompatible pointer type [-Werror=incompatible-pointer-types]
   82 |                 if (splice(tmpfd, &offset, pipefds[1], NULL, 1, 0) != 1)
      |                                   ^~~~~~~
      |                                   |
      |                                   off_t * {aka long int *}
In file included from /gnu/store/0hr9jpczkcgpgqkhf4q4868xd57h5a62-glibc-2.35/include/bits/fcntl.h:61,
                 from /gnu/store/0hr9jpczkcgpgqkhf4q4868xd57h5a62-glibc-2.35/include/fcntl.h:35,
                 from main.c:9:
/gnu/store/0hr9jpczkcgpgqkhf4q4868xd57h5a62-glibc-2.35/include/bits/fcntl-linux.h:398:49: note: expected ‘__off64_t *’ {aka ‘long long int *’} but argument is of type ‘off_t *’ {aka ‘long int *’}
  398 | extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
      |                                      ~~~~~~~~~~~^~~~~~~
In file included from main.c:24:
cases/23.t: In function ‘thrproc3’:
cases/23.t:106:35: error: passing argument 2 of ‘splice’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  106 |                 if (splice(tmpfd, &offset, pipefds[1], NULL, 1, 0) != 1)
      |                                   ^~~~~~~
      |                                   |
      |                                   off_t * {aka long int *}
In file included from /gnu/store/0hr9jpczkcgpgqkhf4q4868xd57h5a62-glibc-2.35/include/bits/fcntl.h:61,
                 from /gnu/store/0hr9jpczkcgpgqkhf4q4868xd57h5a62-glibc-2.35/include/fcntl.h:35,
                 from main.c:9:
/gnu/store/0hr9jpczkcgpgqkhf4q4868xd57h5a62-glibc-2.35/include/bits/fcntl-linux.h:398:49: note: expected ‘__off64_t *’ {aka ‘long long int *’} but argument is of type ‘off_t *’ {aka ‘long int *’}
  398 | extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
      |                                      ~~~~~~~~~~~^~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [Makefile:24: cases/23.p] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/tmp/guix-build-libaio-0.3.113.drv-0/libaio-0.3.113/harness'
make: *** [Makefile:23: partcheck] Error 2

Test suite failed, dumping logs.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("partcheck" "-j" "4" "prefix=/gnu/store/xr6s773c3d62g9aynydp1h6231p42ixn-libaio-0.3.113" "CC=gcc") exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 1.1 seconds
command "make" "partcheck" "-j" "4" "prefix=/gnu/store/xr6s773c3d62g9aynydp1h6231p42ixn-libaio-0.3.113" "CC=gcc" failed with status 2
builder for `/gnu/store/yqgy73rhzmi0n0yfdlarj9g1w8rvgpwy-libaio-0.3.113.drv' failed with exit code 1
build of /gnu/store/yqgy73rhzmi0n0yfdlarj9g1w8rvgpwy-libaio-0.3.113.drv failed
View build log at '/var/log/guix/drvs/yq/gy73rhzmi0n0yfdlarj9g1w8rvgpwy-libaio-0.3.113.drv.gz'.