perl5 icon indicating copy to clipboard operation
perl5 copied to clipboard

Unbreak Perl build on legacy Darwin systems

Open sevan opened this issue 2 years ago • 8 comments

On modern macOS the compiler defaults to '-Werror,-Wimplicit-function-declaration' This breaks the build on code which calls a function without a prototype (invalid in C99). Turning the check off with '-Wno-error=implicit-function-declaration' breaks the build of Perl itself on legacy versions of Darwin with compilers which do not recognise the flags. Removing it allows Perl to once again build on Mac OS X as old as 10.4 with GCC 4.0.1.

Resolves #18902

sevan avatar Apr 15 '23 16:04 sevan

I see you've already made a PR for the MakeMaker part of change. This PR should be marked as not mergeable until that has been applied, released and synced back into blead.

Otherwise I approve of this change.

Leont avatar Apr 15 '23 22:04 Leont

Moved PR into draft mode until other PR for MakeMaker is merged.

sevan avatar Apr 16 '23 16:04 sevan

The changes to EUMM should be removed from this PR, since that will be handled separately.

Making this change, along with the EUMM change, is likely to break a number of XS modules on macOS. I agree that we should change this, but I'm not sure about the timing.

haarg avatar Apr 17 '23 04:04 haarg

I've removed cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm

sevan avatar Apr 17 '23 13:04 sevan

Smoke test result with patched blead

Ignore the failures, I didn't bump the rev so t/porting/cmp_version.t failed, cpan/ExtUtils-MakeMaker/t/04-xs-rpath-darwin.t fails but the test shouldn't be running on Darwin 8. There is an issue with cpan/Test-Simple/t/Test2/behavior/ipc_wait_timeout.t hanging which is why the smoke test took so long. I had to run 'kill -9' several times over the past few days.

sevan avatar Apr 22 '23 20:04 sevan

Smoke test result with patched blead

Ignore the failures, I didn't bump the rev so t/porting/cmp_version.t failed, cpan/ExtUtils-MakeMaker/t/04-xs-rpath-darwin.t fails but the test shouldn't be running on Darwin 8. There is an issue with cpan/Test-Simple/t/Test2/behavior/ipc_wait_timeout.t hanging which is why the smoke test took so long. I had to run 'kill -9' several times over the past few days.

There has been no discussion in this ticket in more than a year, and in that time the code has acquired several merge conflicts. Those will have to be resolved before we can proceed.

jkeenan avatar Aug 27 '24 20:08 jkeenan

I'll take a look at updating over the weekend.

sevan avatar Aug 29 '24 15:08 sevan