Created attachment 2066675 [details] List of core Perl modules missing after installing Fedora 41 Description of problem: When I did a fresh install of Fedora 41 on a new computer, many core Perl modules and programs were not installed. I have a fairly complete list of modules that I generated with a Perl script (see attachment). I don't have a complete list of Perl core programs, but I do know that perl5db.pl is missing. You can't run the Perl debugger without perl5db.pl. Version-Release number of selected component (if applicable): Perl v 5.40.0 How reproducible: I only did a fresh install of Fedora 41 once. The problem occurred. I don't have the resources to reproduce the problem on other computers. Steps to Reproduce: 1. Create a fresh installation of Fedora 41. 2. Search the following directories for the modules listed in the attachment: /usr/local/lib64/perl5/5.40 /usr/local/share/perl5/5.40 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 For perl5db.pl, type "which perl5db.pl" or look in all the directories in your execution path for a file of this name. Actual results: perl5db.pl and the modules are not found. Expected results: perl5db.pl and all the modules are found. Additional info: For a discussion of what constitutes a core Perl module, see https://www.perl.com/article/what-is-the-perl-core-/. This article confirms that Fedora has a long-standing problem of omitting core Perl modules.
(In reply to David Levner from comment #0) > > When I did a fresh install of Fedora 41 on a new computer, many core Perl > modules and programs were not installed. Nothing in the default install of Fedora (I presume this is Workstation) requires Perl so perl is not installed (I don't believe you get /usr/bin/perl anymore). > I have a fairly complete list of > modules that I generated with a Perl script (see attachment). I don't have a > complete list of Perl core programs, but I do know that perl5db.pl is > missing. To install perl-core, run the command 'dnf install perl'. To install a specific Perl module, run the command 'dnf install "perl(The::Wanted::Module)"'. To install a specific file, run the command 'dnf install /path/to/the/file'. These are pretty much your only options.
Note that if the perl binary is present in an installed system, it is there as a dependency and only the modules that are depended on by the system will be included. If you want to use the perl binary for any other purpose than the installed system required it for, you should `dnf install perl`, which will install the full Perl core. Further, if you want to install CPAN modules outside of those packaged in RPM for your system, I would recommend to either install them in a local::lib in your home directory (you can install perl-homedir to set this up automatically for all users), or install your own perl using perl-build or perlbrew or plenv. The risk of manually installing CPAN modules is that these will install to sitelib, which is preferred over vendorlib, and you may install a version of a module which is not compatible with an RPM-installed version in vendorlib expected by a system function.
Thank you. Perl was installed (sort of) with Fedora 41 (KDE spin), probably as a dependency. It's a useful language; that's why someone, at some point, wrote Perl scripts that have been incorporated into Fedora. I think Fedora would be improved by including a complete version of Perl by default instead of just the pieces that are absolutely necessary for the scripts that Fedora uses. But that is not my decision. I can get what I need so I'll be OK even if no action is taken. I was surprised that Perl was not officially installed on my system. Doing 'sudo dnf install perl' provided almost all the core modules. Here are the ones that are still missing: Amiga::ARexx Amiga::Exec ExtUtils::MakeMaker::Locale ExtUtils::MakeMaker::version ExtUtils::MakeMaker::version::regex ExtUtils::PL2Bat ExtUtils::XSSymSet File::Spec::VMS OS2::DLL OS2::ExtAttr OS2::PrfDB OS2::Process OS2::REXX Sys::Syslog::Win32 VMS::DCLsym VMS::Filespec VMS::Stdio Win32 Win32CORE XS::APItest XS::Typemap I don't use any of these. Probably no one will miss the Amiga, OS2 and VMS modules. I could make a weak case for the Win32 modules. I am not familiar with the ExtUtils and XS modules so I can't comment on them.
It is normal for several modules not to be installed depending on the platform, you will not get these with a source or perl-build install either. Win32 modules are only installed on windows platforms, Amiga on Amiga platforms, etc. XS::Typemap and XS::APItest are for testing the Perl installation and do not get installed. The ExtUtils modules are largely bundled versions of other modules for ExtUtils::MakeMaker which are unnecessary once Perl is installed.
@davidlevner FYI: There is perl-interpreter package with the main Perl interpreter, without development packages which are in perl package.
(In reply to David Levner from comment #3) > I think Fedora would be improved by including a complete version of Perl by default Do you mean being installed by default, or being available in Fedora repositories for installing later? I believe the first is highly subjective. There are people who say quite the opposite, or who prefer a different language. When installing Fedora, you can select a "Development" package group which involves "perl" package which installs all relevant parts of upstream perl. If you really think Perl is for Fedora so important that it should be installed by default for all, then you can move this bug report to "comps" component which maintains groups of packages being installed by Fedora installer and persuade their maintainer that it would be a good change.
I understand that the choice of a computer language is subjective. Many people prefer Python, Java, Javascript, C, C++, and the list goes on. I have no problem with that. (As far as I can tell, Python is installed by default. I see it on my systems and I never explicitly installed it.) It's not that Perl is so important. Fedora already installs a lot of Perl modules by default because it's useful to Fedora. I have used Perl with Fedora for over ten years and I didn't know that I needed to explicitly install it. (Previous releases of Fedora probably installed more Perl modules and I didn't notice that anything was missing.) Installing Perl and perhaps some other languages by default would make Fedora more software developer-friendly. Or maybe Fedora could ask during a fresh install how Fedora is going to be used and suggest additional packages to install. Or Fedora could incorporate a little AI and, based on what the users are doing with a system, suggest additional packages. I would like to take Petr's suggestion and move this "bug" to the comps component so that the maintainers see it and make an informed decision. I can live with "no" as their answer. However, I am not sure where to move the bug. Is "comps-extra" the right component?
It seems the "comps" component was removed from this Bugzilla server. The new bug tracker for it as at <https://pagure.io/fedora-comps/issues>. I will move this bug report to "distribution".
since you talk about the kde media, thats up to the kde sig. moving to their component, or you could file somethin new at https://pagure.io/fedora-kde/SIG/issues