Source: csh Version: 20240808-1 Severity: serious Tags: ftbfs patch Justification: ftbfs
Hi Alastair,
The recently introduced patch fixing gcc 14 build failures also
introduced a type mismatch between seekf declaration and its
definition: the first with off64_t and the second with off_t.
On most architectures this is not a problem, as they share the
same size in the end, including on armel and armhf. However,
the mismatch results in the following build failure on i386,
where off_t and off64_t have distinct sizes, as you can see in
the buildd log[1]:
csh.c:1265:1: error: conflicting types for ‘seekf’; have ‘int(void *,
off_t *, int)’ {aka ‘int(void *, long int *, int)’}
1265 | seekf(void *oreo, off_t *off, int whence)
| ^~~~~
csh.c:158:17: note: previous declaration of ‘seekf’ with type ‘int(void
*, off64_t *, int)’ {aka ‘int(void *, long long int *, int)’}
158 | static int seekf(void *, off64_t *, int);
| ^~~~~
[1]:
https://buildd.debian.org/status/fetch.php?pkg=csh&arch=i386&ver=20240808-1&stamp=1723122202&raw=0
I attached a patch that modifies the original g++-14.patch in
order to resolve the issue, for your convenience. I did a few
manual tests to ensure the type change hasn't introduced any
obvious issues in the shell, not that there is a lot of room
left for error.
The build failure on i386 causes a sprawl of autoremoval
notifications in reverse dependencies, so if you're caught by
time, I'm considering the option of proceeding to an NMU.
Have a nice day, :)
--
.''`. Étienne Mollier <[email protected]>
: :' : pgp: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da
`. `' sent from /dev/pts/2, please excuse my verbosity
`-
diff -Nru csh-20240808/debian/patches/g++-14.patch csh-20240808/debian/patches/g++-14.patch --- csh-20240808/debian/patches/g++-14.patch 2024-08-08 13:02:13.000000000 +0200 +++ csh-20240808/debian/patches/g++-14.patch 2024-08-15 08:20:53.000000000 +0200 @@ -3,6 +3,7 @@ Bug-Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1074892 Last-Updated: 2024-08-08 Forwarded: not-needed +Reviewed-By: Étienne Mollier <[email protected]> --- a/csh.c +++ b/csh.c @@ -22,7 +23,7 @@ -static off_t -seekf(void *oreo, off_t off, int whence) +static int -+seekf(void *oreo, off_t *off, int whence) ++seekf(void *oreo, off64_t *off, int whence) { - return lseek(DESC(oreo), off, whence); + return lseek(DESC(oreo), *off, whence);
signature.asc
Description: PGP signature

