Bug 1225959

Summary: Package zziplib does not build with gcc14 because of new errors
Product: [openSUSE] openSUSE Tumbleweed Reporter: Martin Jambor <mjambor>
Component: DevelopmentAssignee: Josef Möllers <josef.moellers>
Status: NEW --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1220571    

Description Martin Jambor 2024-06-04 16:41:26 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]       |                    ^~~~~~~~~~~~~~~~~~~~~~~~
Comment 1 Martin Jambor 2024-07-15 14:39:40 UTC
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.
Comment 2 Martin Jambor 2024-07-15 14:59:22 UTC
I have created https://build.opensuse.org/request/show/1187585