Hello,

The compile flag I used in the patch, -Wno-error=incompatible-pointer-types, 
has been used since presumably forever to build zsync. Note that the code of 
zsync has not changed since at least old-old stable: the zsync builds still in 
Debian unstable and <= 12 were made using it. The issue (and FTBFS) was 
introduced when GCC-14 switched flags to -Werror=incompatible-pointer-types, 
which upgraded the warning to an error (see e.g. "Type checking on pointer 
types" at https://gcc.gnu.org/gcc-14/porting_to.html) 
<https://gcc.gnu.org/gcc-14/porting_to.html>. As I wrote, the patch

> solves the build failure by restoring its behavior to what it was pre-gcc-14.

If that was good enough in the past, then it should be good enough until the 
live-build developers find an alternative tool to provide the binary_zsync 
build step. I do agree this would be the best solution given that zsync 
development has halted.

Best


P.S.: The implicit cast from "long int" to "long long int" is not the only one. 
If you assume the upstream developers knew what they were doing when they used 
it (which is what Debian is doing since at least old-old stable) and try to fix 
that by an explicit cast - which you can do because the signature of the 
function is known - then another comes up, and then another, and so on. zsync 
is full of implicit casts and it doesn't seem very practical to fix all of them.

Reply via email to