Bug 2351093 - Perl modules fail and Packages cannot be installed and even perldoc -q installed fails
Summary: Perl modules fail and Packages cannot be installed and even perldoc -q instal...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: perl
Version: 41
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Jitka Plesnikova
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-03-10 13:26 UTC by Rex Arul
Modified: 2025-03-10 14:52 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-03-10 14:23:27 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Rex Arul 2025-03-10 13:26:35 UTC
I am unable to install Perl packages. I am on KDE Plasma 6.3.2 on Fedora Workstation 41. This should have crept in somewhere within the past 2 or 3 major Fedora Workstation releases. I do NOT see these issues on my GNOME Manjaro Arch Linux. 

Almost every simple command fails, probably attributing to XSLoader.pm failures and potentially also YAML loading. For e.g., even a basic query like "perldoc -q installed" fails. This kind of a basic command should not fail. Basically, I am UNABLE to install any fresh packages. 

Here is what happens, when I issue "perldoc -q installed"

perldoc -q installed
Can't load '/home/USERNAME/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Encode/Encode.so' for module Encode: libperl.so.5.38: cannot open shared object file: No such file or directory at /usr/share/perl5/XSLoader.pm line 94.
 at /home/USERNAME/perl5/lib/perl5/x86_64-linux-thread-multi/Encode.pm line 12.
BEGIN failed--compilation aborted at /home/USERNAME/perl5/lib/perl5/x86_64-linux-thread-multi/Encode.pm line 13.
Compilation failed in require at /usr/share/perl5/vendor_perl/Pod/Perldoc.pm line 443.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Pod/Perldoc.pm line 443.
Compilation failed in require at /usr/bin/perldoc line 5.
BEGIN failed--compilation aborted at /usr/bin/perldoc line 5.

Here are my environment details:

System:                                                                                                                                    
  Kernel: 6.13.5-200.fc41.x86_64 arch: x86_64 bits: 64                                                                                     
  Desktop: KDE Plasma v: 6.3.2 Distro: Fedora Linux 41 (Workstation Edition)                                                               
Machine:                                                                                                                                   
  Type: Laptop System: Dell product: Inspiron 15 3511 v: N/A                                                                               
    serial: <superuser required>                                                                                                           
  Mobo: Dell model: 0042CN v: A00 serial: <superuser required> UEFI: Dell                                                                  
    v: 1.35.0 date: 12/18/2024                                                                                                             
Battery:                                                                                                                                   
  ID-1: BAT0 charge: 31.7 Wh (100.0%) condition: 31.7/40.3 Wh (78.6%)                                                                      
CPU:                                                                                                                                       
  Info: quad core model: 11th Gen Intel Core i5-1135G7 bits: 64 type: MT MCP                                                               
    cache: L2: 5 MiB                                                                                                                       
  Speed (MHz): avg: 1032 min/max: 400/4200 cores: 1: 1032 2: 1032 3: 1032                                                                  
    4: 1032 5: 1032 6: 1032 7: 1032 8: 1032                                                                                                
Graphics:                                                                                                                                  
  Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] driver: i915 v: kernel                                                               
  Device-2: Microdia Integrated_Webcam_HD driver: uvcvideo type: USB                                                                       
  Display: wayland server: X.org v: 1.21.1.16 with: Xwayland v: 24.1.6                                                                     
    compositor: kwin_wayland driver: X: loaded: modesetting unloaded: fbdev,vesa                                                           
    dri: iris gpu: i915 resolution: 1: 1920x1080~60Hz 2: 1920x1080~60Hz                                                                    
  API: EGL v: 1.5 drivers: iris,swrast                                                                                                     
    platforms: gbm,wayland,x11,surfaceless,device                                                                                          
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 25.0.0                                                                            
    renderer: Mesa Intel Iris Xe Graphics (TGL GT2)                                                                                        
  API: Vulkan v: 1.4.304 drivers: N/A surfaces: xcb,xlib,wayland                                                                           
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo                                                                                   
    de: kscreen-console,kscreen-doctor wl: wayland-info x11: xdriinfo,                                                                     
    xdpyinfo, xprop, xrandr                 
Audio:                                                                                                                             [0/1869]
  Device-1: Intel Tiger Lake-LP Smart Sound Audio driver: snd_hda_intel
  API: ALSA v: k6.13.5-200.fc41.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.2.7 status: active
Network:
  Device-1: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter
    driver: ath10k_pci
  IF: wlp2s0 state: up mac: <filter>
Bluetooth:
  Device-1: Qualcomm Atheros driver: btusb type: USB
  Report: btmgmt ID: hci0 state: up address: <filter> bt-v: 4.2
Drives:
  Local Storage: total: 715.41 GiB used: 200.14 GiB (28.0%)
  ID-1: /dev/nvme0n1 vendor: KIOXIA model: CL1-3D256-Q11 NVMe SSSTC 256GB
    size: 238.47 GiB
  ID-2: /dev/sda model: SATA SSD size: 476.94 GiB
Partition:
  ID-1: / size: 97.87 GiB used: 31.09 GiB (31.8%) fs: ext4 dev: /dev/sda2
  ID-2: /boot/efi size: 618.7 MiB used: 47.2 MiB (7.6%) fs: vfat
    dev: /dev/sda1
  ID-3: /home size: 349.5 GiB used: 169 GiB (48.4%) fs: ext4 dev: /dev/sda4
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
  ID-2: swap-2 type: partition size: 9 GiB used: 0 KiB (0.0%) dev: /dev/sda3
Sensors:
  System Temperatures: cpu: 60.0 C mobo: 46.0 C
  Fan Speeds (rpm): cpu: 0
Info:
  Memory: total: 16 GiB note: est. available: 15.35 GiB used: 8.97 GiB (58.4%)
  Processes: 351 Uptime: 33m Shell: Bash inxi: 3.3.37


Reproducible: Always

Steps to Reproduce:
1. Open shell
2. Issue simple command "perldoc -q installed"
3. Errors will ensue as described in the Details.
Actual Results:  
Following errors were thrown, when the simple command:  perldoc -q installed
was run.

Can't load '/home/USERNAME/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Encode/Encode.so' for module Encode: libperl.so.5.38: cannot open shared object file: No such file or directory at /usr/share/perl5/XSLoader.pm line 94.
 at /home/USERNAME/perl5/lib/perl5/x86_64-linux-thread-multi/Encode.pm line 12.
BEGIN failed--compilation aborted at /home/USERNAME/perl5/lib/perl5/x86_64-linux-thread-multi/Encode.pm line 13.
Compilation failed in require at /usr/share/perl5/vendor_perl/Pod/Perldoc.pm line 443.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Pod/Perldoc.pm line 443.
Compilation failed in require at /usr/bin/perldoc line 5.
BEGIN failed--compilation aborted at /usr/bin/perldoc line 5.


Expected Results:  
Should actually print a list of the installed pacakges.

Comment 1 Jitka Plesnikova 2025-03-10 14:23:27 UTC
This usually happens when you upgrade Fedora to a version with a newer Perl release.

The issue is that you're not using the perl-Encode package provided by Fedora, which is rebuilt for each Fedora release to match the proper Perl version.

It looks like you installed Encode via CPAN, and it was built with Perl 5.38, which is used in Fedora 40.

The recommended solution is to use the perl-Encode package provided by Fedora.
However, you can also fix this by rebuilding Encode against Perl 5.40.1, which is available in Fedora 41.

Comment 2 Rex Arul 2025-03-10 14:34:06 UTC
(In reply to Jitka Plesnikova from comment #1)
> This usually happens when you upgrade Fedora to a version with a newer Perl
> release.
> 
> The issue is that you're not using the perl-Encode package provided by
> Fedora, which is rebuilt for each Fedora release to match the proper Perl
> version.
> 
> It looks like you installed Encode via CPAN, and it was built with Perl
> 5.38, which is used in Fedora 40.
> 
> The recommended solution is to use the perl-Encode package provided by
> Fedora.
> However, you can also fix this by rebuilding Encode against Perl 5.40.1,
> which is available in Fedora 41.

Hi @Jitka - Can you kindly help me how I can rectify this? When I did a "sudo dnf install perl-Encode" to make sure it forces the package provided by Fedora, this is what I get. It looks like it says it was already installed.

sudo dnf install perl-Encode
Updating and loading repositories:
Repositories loaded.
Package "perl-Encode-4:3.21-511.fc41.x86_64" is already installed.

Nothing to do.

Comment 3 Rex Arul 2025-03-10 14:52:11 UTC
(In reply to Rex Arul from comment #2)
> (In reply to Jitka Plesnikova from comment #1)
> > This usually happens when you upgrade Fedora to a version with a newer Perl
> > release.
> > 
> > The issue is that you're not using the perl-Encode package provided by
> > Fedora, which is rebuilt for each Fedora release to match the proper Perl
> > version.
> > 
> > It looks like you installed Encode via CPAN, and it was built with Perl
> > 5.38, which is used in Fedora 40.
> > 
> > The recommended solution is to use the perl-Encode package provided by
> > Fedora.
> > However, you can also fix this by rebuilding Encode against Perl 5.40.1,
> > which is available in Fedora 41.
> 
> Hi @Jitka - Can you kindly help me how I can rectify this? When I did a
> "sudo dnf install perl-Encode" to make sure it forces the package provided
> by Fedora, this is what I get. It looks like it says it was already
> installed.
> 
> sudo dnf install perl-Encode
> Updating and loading repositories:
> Repositories loaded.
> Package "perl-Encode-4:3.21-511.fc41.x86_64" is already installed.
> 
> Nothing to do.

I did a "cpan uninstall Encode" to get rid of 5.38 Encode that was built with that version so that I hope the Fedora's Encode with 41 will automatically be loaded. Thank you.


Note You need to log in before you can comment on or make changes to this bug.