Opened 2 years ago

Last modified 2 years ago

#64179 new defect

p5-extutils-cbuilder uses -Wno-error=implicit-function-declaration

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: arm64 Cc: chrstphrchvz (Christopher Chavez)
Port: p5-extutils-cbuilder

Description

p5-extutils-cbuilder uses -Wno-error=implicit-function-declaration when it builds things on behalf of other ports.

$ port -q contents p5.28-extutils-cbuilder | xargs grep implicit
/opt/local/lib/perl5/vendor_perl/5.28/ExtUtils/CBuilder/Platform/darwin.pm:  $cf->{ccflags} .= ($cf->{ccflags} ? ' ' : '').'-Wno-error=implicit-function-declaration';

This was added to ExtUtils::CBuilder here:

https://github.com/Perl-Toolchain-Gang/ExtUtils-CBuilder/commit/067d75adb44691e970bcdb39aaa250b115dd26aa

Don't we probably not want that?

We already had this issue with p5-extutils-makemaker in #61630. Upstream added the flag, we added a patch to remove it and told upstream to remove it, though so far they haven't, and the last comment in that issue to date is the opinion that they like the fact that this flag will result in build success on x86_64 and they accept the fact that it may cause misbehavior on arm64, opining that any such misbehavior should be caught by the module's tests. They also suggest maybe keeping the flag for x86_64 and removing it for arm64.

Whatever we decide to do, we should probably be consistent between these two modules. Either we should always remove the flag in cbuilder, as we already do in makemaker, or we could change both of them to remove the flag only when not arm64, though what would happen for an arm64/x86_64 universal build in that case is not clear to me, so it's probably safer to always remove the flag.

We should also file a bug report with the ExtUtils::CBuilder folks, which according to the project page is the perl core developers.

Change History (1)

comment:1 Changed 2 years ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added
Note: See TracTickets for help on using tickets.