Dual-Life / Devel-PPPort

Perl/Pollution/Portability
9 stars 28 forks source link

Fix warning croak_xs_usage redefined #195

Closed atoomic closed 4 years ago

atoomic commented 4 years ago

This is fixing a warning from RealPPPort.c as described in #194.

pali commented 4 years ago

You cannot undefine this function as it completely breaks croak_xs_usage. See Travis tests https://travis-ci.org/github/Dual-Life/Devel-PPPort/jobs/715934854 PPPort.so: undefined symbol: croak_xs_usage

atoomic commented 4 years ago

yeap need a better fix

atoomic commented 4 years ago

The redefine is coming from ExtUtils::ParseXS::Utilities https://metacpan.org/source/SMUELLER/ExtUtils-ParseXS-3.35/lib/ExtUtils/ParseXS/Utilities.pm#L480

pali commented 4 years ago

So that is a bug in ExtUtils::ParseXS::Utilities, that it tries to redefine croak_xs_usage even if it is already defined.

I guess it does not cause any problem if ExtUtils::ParseXS::Utilities provides its own implementation and via redefine force usage of own implementation. It just throws harmless warning which can be ignored.

atoomic commented 4 years ago

I think this is the fix we need https://github.com/atoomic/perl5/commit/bff94a9a1a7592a735db61d3e1525b70f1f5f73f

atoomic commented 4 years ago

But I really wonder if the bug is not a D-PPP issue trying to redefine a function which is going to be set... Fixing ExtUtils::ParseXS::Utilities have a very low value unless we publish a new version of it upstream.... which did not happened recently

pali commented 4 years ago

Devel::PPPort's ppport.h has everything guarded by #ifndef So I doubt this is Devel::PPPort issue.