Bugzilla – Bug 1225959
Package zziplib does not build with gcc14 because of new errors
Last modified: 2024-07-15 14:59:22 UTC
GCC 14 newly by default treats as errors a number of situations which before were only warnings. For more information see https://gcc.gnu.org/gcc-14/porting_to.html and meta bug #1220571. Because of this, package zziplib fails to compile. This can be seen online at: https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/zziplib/standard/x86_64 It can be reproduced locally with command: osc build --clean --alternative-project home:rguenther:nextgcc There are possibly relevant Gentoo bugs https://bugs.gentoo.org/869980 and https://bugs.gentoo.org/919066 The (first) error (that halts the build) is: [ 15s] /home/abuild/rpmbuild/BUILD/zziplib-0.13.72/zzip/mmapped.c: In function ‘zzip_disk_entry_fopen’: [ 15s] /home/abuild/rpmbuild/BUILD/zziplib-0.13.72/zzip/fetch.h:232:41: error: initialization of ‘off_t’ {aka ‘long int’} from ‘zzip_byte_t *’ {aka ‘unsigned char *’} makes integer from pointer without a cast [-Wint-conversion] [ 15s] 232 | #define zzip_file_header_to_data(__p) ((zzip_byte_t*) \ [ 15s] | ^ [ 15s] /home/abuild/rpmbuild/BUILD/zziplib-0.13.72/zzip/mmapped.c:665:20: note: in expansion of macro ‘zzip_file_header_to_data’ [ 15s] 665 | off_t offset = zzip_file_header_to_data(header); [ 15s] | ^~~~~~~~~~~~~~~~~~~~~~~~
Upstream has dealt with the case that stops the build in https://github.com/gdraheim/zziplib/commit/bf539bd6a434f56f7ad7685fc0bc8496f652b5e8 However, the code introduced by that commit was then significantly shortened by subsequent commits and it is not immediately quite clear why. Therefore I suggest resorting to -fpermissive now and removing the flag (or attempt to remove it) when we upgrade to a newer upstream version.
I have created https://build.opensuse.org/request/show/1187585