openwrt / openwrt/packages

<Perl>: <missing modules>

Open
#30,007 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

release/25.12
Dominant language
Makefile
Stars
4.6k
Forks
4k
Avg merge
3d 12h
Merged PRs (30d)
134

Description

Package Name

Perl

Maintainer

ckorber

OpenWrt Version

OpenWrt 25.12.5 r33051-f5dae5ece4 / LuCI openwrt-25.12 branch 26.187.49110~99464ec

OpenWrt Target/Subtarget

ramips/mt7621

Steps to Reproduce

When I try to use these modules in Perl there are not available:
use Getopt::Std;
use Text::CharWidth;

Actual Behaviour

The modules Getopt::Std and Text::CharWidth are not installed. When I try to use them I receive this:

Can't locate Getopt/Std.pm in @INC (you may need to install the Getopt::Std module) (@INC entries checked: /usr/lib/perl5/5.40)

Can't locate Text/CharWidth.pm in @INC (you may need to install the Text::CharWidth module) (@INC entries checked: /usr/lib/perl5/5.40)

I then went down the rabbit-hole trying to add the modules via cpan:
perl -MCPAN -e 'shell'
install Getopt::Std

I have expanded storage setup on /dev/sda and a 2GB swapfile file on /dev/sda3.
When I try to add the modules from within the perl/cpan shell it fails and eventually crashes the router.

Anyhow, shouldn't these modules be part of the default Perl installation or at least be available via "apk add perlbase-??????"?

Not sure how to address this issue, is it a bug report or a feature request or both?

Here is my /proc/cpuinfo output:

system type : MediaTek MT7621 ver:1 eco:3
machine : SamKnows Whitebox 8
processor : 0
cpu model : MIPS 1004Kc V2.15
BogoMIPS : 586.13
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa : mips1 mips2 mips32r1 mips32r2
ASEs implemented : mips16 dsp mt
Options implemented : tlb 4kex 4k_cache prefetch mcheck ejtag llsc pindexed_dcache userlocal vint perf_cntr_intr_bit cdmm perf
shadow register sets : 1
kscratch registers : 0
package : 0
core : 0
VPE : 0
VCED exceptions : not available
VCEI exceptions : not available

processor : 1
cpu model : MIPS 1004Kc V2.15
BogoMIPS : 586.13
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa : mips1 mips2 mips32r1 mips32r2
ASEs implemented : mips16 dsp mt
Options implemented : tlb 4kex 4k_cache prefetch mcheck ejtag llsc pindexed_dcache userlocal vint perf_cntr_intr_bit cdmm perf
shadow register sets : 1
kscratch registers : 0
package : 0
core : 0
VPE : 1
VCED exceptions : not available
VCEI exceptions : not available

processor : 2
cpu model : MIPS 1004Kc V2.15
BogoMIPS : 586.13
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa : mips1 mips2 mips32r1 mips32r2
ASEs implemented : mips16 dsp mt
Options implemented : tlb 4kex 4k_cache prefetch mcheck ejtag llsc pindexed_dcache userlocal vint perf_cntr_intr_bit cdmm perf
shadow register sets : 1
kscratch registers : 0
package : 0
core : 1
VPE : 0
VCED exceptions : not available
VCEI exceptions : not available

processor : 3
cpu model : MIPS 1004Kc V2.15
BogoMIPS : 586.13
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa : mips1 mips2 mips32r1 mips32r2
ASEs implemented : mips16 dsp mt
Options implemented : tlb 4kex 4k_cache prefetch mcheck ejtag llsc pindexed_dcache userlocal vint perf_cntr_intr_bit cdmm perf
shadow register sets : 1
kscratch registers : 0
package : 0
core : 1
VPE : 1
VCED exceptions : not available
VCEI exceptions : not available

Confirmation Checklist

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by checking OpenWrt's Perl package definitions and available package names for Getopt::Std and Text::CharWidth on the ramips/mt7621 target. Compare the default Perl installation with separately installable packages, then verify that both modules can be installed and loaded without using CPAN on the router.

Written by the indexing model from the issue text.

Assessment

Tech stack
perl
Domain
build-system, embedded-iot
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.