Bug 2261386

Summary: mod_perl: FTBFS in F40: odperl_common_util.c:57:53: error: initialization of ‘int (*)(PerlInterpreter *, SV *, MAGIC *, SV *, const char *, I32)’
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: mod_perlAssignee: Andrew Bauer <zonexpertconsulting>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jorton, perl-devel, ppisar, zonexpertconsulting
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-02-02 18:12:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2231791    
Attachments:
Description Flags
build.log
none
root.log
none
state.log
none
possible fix none

Description Fedora Release Engineering 2024-01-29 20:52:26 UTC
mod_perl failed to build from source in Fedora rawhide/f40

https://koji.fedoraproject.org/koji/taskinfo?taskID=112327636


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
Please fix mod_perl at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
mod_perl will be orphaned. Before branching of Fedora 41,
mod_perl will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/

Comment 1 Fedora Release Engineering 2024-01-29 20:52:32 UTC
Created attachment 2012652 [details]
build.log

file build.log too big, will only attach last 32768 bytes

Comment 2 Fedora Release Engineering 2024-01-29 20:52:37 UTC
Created attachment 2012653 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2024-01-29 20:52:40 UTC
Created attachment 2012654 [details]
state.log

Comment 4 Petr Pisar 2024-01-31 08:38:56 UTC
From i686 build.log:

gcc -I/builddir/build/BUILD/mod_perl-2.0.13/src/modules/perl -I/builddir/build/BUILD/mod_perl-2.0.13/xs -I/usr/include/apr-1 -I/usr/include/apr-1  -I/usr/include/httpd -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/perl5/CORE -DMOD_PERL -DMP_COMPAT_1X -fgnu89-inline -DLINUX -D_LARGEFILE64_SOURCE -g -fPIC \
-c modperl_common_util.c && mv modperl_common_util.o modperl_common_util.lo
modperl_common_util.c:57:53: error: initialization of ‘int (*)(PerlInterpreter *, SV *, MAGIC *, SV *, const char *, I32)’ {aka ‘int (*)(struct interpreter *, struct sv *, struct magic *, struct sv *, const char *, long int)’} from incompatible pointer type ‘int (*)(PerlInterpreter *, SV *, MAGIC *, SV *, const char *, int)’ {aka ‘int (*)(struct interpreter *, struct sv *, struct magic *, struct sv *, const char *, int)’} [-Wincompatible-pointer-types]
   57 |                                                     modperl_table_magic_copy};
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~

Since Koschei <https://koschei.fedoraproject.org/package/mod_perl> is happy on all 64-bit architecture, I conclude this is specific for 32-bit platforms.

Comment 5 Andrew Bauer 2024-01-31 13:23:34 UTC
Thanks Petr. I completely agree. Some of my other packages are failing on i686 as well. Seems it's due to the new GCC in rawhide.

At the moment, I'm not sure how to fix this, and I can't exclude i686 arch because mod_perl is not a leaf package.

I have summitted a bug report upstream and will continue to search the interwebs for clues.
https://rt.cpan.org/Public/Bug/Display.html?id=151469

Comment 6 Joe Orton 2024-01-31 13:49:14 UTC
Created attachment 2014197 [details]
possible fix

A naive attempt to fix it seems to compile here, can you try it in rawhide?

Comment 7 Andrew Bauer 2024-01-31 13:53:38 UTC
Thank you sir. 
I am travelling for work this week and will test this patch over the weekend.

Comment 8 Andrew Bauer 2024-02-02 17:52:46 UTC
Scratch build succeeds, so I'm going to run with this patch.
https://koji.fedoraproject.org/koji/taskinfo?taskID=112818639

Comment 9 Andrew Bauer 2024-02-02 18:12:58 UTC
CLOSED RAWHIDE

https://koji.fedoraproject.org/koji/taskinfo?taskID=112819630

Comment 10 Joe Orton 2024-02-06 08:34:25 UTC
Thanks Andrew. I pushed this upstream for future releases.
https://svn.apache.org/viewvc?view=revision&revision=1915593