https://bugzilla.redhat.com/show_bug.cgi?id=1547165
Bug ID: 1547165 Summary: perl-ExtUtils-CBuilder should require gcc Product: Fedora Version: rawhide Component: perl-ExtUtils-CBuilder Assignee: ppisar@redhat.com Reporter: paul@city-fan.org QA Contact: extras-qa@fedoraproject.org CC: jose.p.oliveira.oss@gmail.com, jplesnik@redhat.com, perl-devel@lists.fedoraproject.org, ppisar@redhat.com, steve@silug.org, tcallawa@redhat.com
In view of the likely upcoming removal of gcc from the default buildroot, it would make sense to add gcc as a dependency of perl-ExtUtils-CBuilder, given that the entire purpose of the module is to compile the C portions of perl modules.
This would fix a significant of number of perl modules that FTBFS without gcc in the default buildroot, as can be seen by looking at the logs from the failed builds: https://ignatenkobrain.fedorapeople.org/gcc-removal.txt
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED
--- Comment #1 from Petr Pisar ppisar@redhat.com --- I did not yet look at the problem thoroughly. I remember we had a dependency on gcc somewhere sometime and people did not like that installing Perl core modules installs gcc. I need to look into it more deeply. Because I do not want noarch packages to bring gcc into build root via some transitive dependency. Also Perl guidelines states that archfull packages should build-require perl-devel. I do not want tell people that they should build-require EU::CBuilder instead.
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
--- Comment #2 from Petr Pisar ppisar@redhat.com --- CBuilder::Base::compile() does:
my @cc = $self->split_like_shell($args{'C++'} ? $cf->{cxx} : $cf->{cc}); $self->do_system(@cc, @flags, $args{source})
Should we also hard-require gcc-c++? Or do we aim to "good enough" solution?
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
--- Comment #3 from Paul Howarth paul@city-fan.org --- Looking at the gcc-removal.txt file, all of the failures mentioning EU::CB are failing when trying to run gcc rather than g++.
So I'm inclined to add a hard dependency on gcc (the module is pretty much useless without it) and a soft one on gcc-c++.
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
--- Comment #4 from Paul Howarth paul@city-fan.org --- (In reply to Petr Pisar from comment #1)
Also Perl guidelines states that archfull packages should build-require perl-devel. I do not want tell people that they should build-require EU::CBuilder instead.
Not all archful packages use EU::CBuilder; those that don't should pull in gcc themselves, but those that do use EU::CBuilder could reasonably expect it to "just work" I think.
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
--- Comment #5 from Igor Gnatenko ignatenko@redhat.com --- I would add both dependencies.
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
--- Comment #6 from Petr Pisar ppisar@redhat.com --- Compare to cmake bug #923024. cmake does not run-require any compiler although it defaults to C++ and dies if it cannot find g++.
I will probably add both compilers as a hard dependency.
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
--- Comment #7 from Petr Pisar ppisar@redhat.com --- I did some tests and if we want perl-ExtUtils-CBuilder to require gcc, we need to remove dependency on ExtUtils::CBuilder from perl-Module-Build. That will break 36 packages in Fedora.
Module-Build requires ExtUtils::CBuilder in META data, but at the same time documents that Module::Build users should require ExtUtils::CBuilder explicitly.
I'm keen to go this way and fix the 36 packages. I will send an e-mail to perl-devel list the attract more attention and more ideas.
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
--- Comment #8 from Petr Pisar ppisar@redhat.com --- The perl-devel message https://lists.fedoraproject.org/archives/list/perl-devel@lists.fedoraproject.org/message/MWK6MLOWOIJ2UVMRILR3FAZZRE3X6OCM/.
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |MODIFIED Fixed In Version| |perl-ExtUtils-CBuilder-0.28 | |0230-3.fc29
--- Comment #9 from Petr Pisar ppisar@redhat.com --- There were no objections. The change is implemented in:
perl-ExtUtils-CBuilder-0.280230-3.fc29 perl-ExtUtils-MakeMaker-7.32-2.fc29 perl-Module-Build-0.42.24-6.fc29
I also removed a hard dependency on perl-devel from perl-ExtUtils-MakeMaker.
I also noticed that perl-Module-Install pulls in perl-devel and gcc transitively. I will find out why.
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ON_QA
--- Comment #10 from Petr Pisar ppisar@redhat.com --- I finished adding ExtUtils::CBuilder dependency to spec files. I omitted some of them where it came as a transitive dependency of some other already used XS-builder used module because I do not feel competent nor motivate to hunt the specific piece of line responsible for executing gcc in foreign packages. I fell little bit uneasy with this change.
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |CLOSED Resolution|--- |RAWHIDE Last Closed| |2018-03-14 09:00:00
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
--- Comment #11 from Fedora Update System updates@fedoraproject.org --- perl-Net-IDN-Encode-2.400-7.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-b2c056d6b0
https://bugzilla.redhat.com/show_bug.cgi?id=1547165
--- Comment #12 from Fedora Update System updates@fedoraproject.org --- perl-Net-IDN-Encode-2.400-7.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-b2c056d6b0
perl-devel@lists.fedoraproject.org