Intrepid has asked for the wisdom of the Perl Monks concerning the following question:

Hello impeccable denizens of Perlmonks. I've got a problem with cpanm not finding a module in the list of dependencies for Clipboard(.pm), in my newly created pinto repo. I've pasted the output here (a little bit trimmed of irrelevant stuff):

export REPO="/cygdrive/c/Users/somia/code-repositories/pinto/Clipboard"
$  cpanm --verbose --from "file://$REPO" --install Clipboard
cpanm (App::cpanminus) 1.7047 on perl 5.040002 built for x86_64-cygwin-threads-multi
Work directory is C:/Users/somia/.cpanm/work/1747447503.13337

Written by John Gilmore and Jay Fenlason.
Searching Clipboard on mirror file:///cygdrive/c/Users/somia/code-repositories/pinto/Clipboard ...
Downloading index file file:///cygdrive/c/Users/somia/code-repositories/pinto/Clipboard/modules/02packages.details.txt.gz ...
Uncompressing index file...
--> Working on Clipboard
Fetching file:///cygdrive/c/Users/somia/code-repositories/pinto/Clipboard/authors/id/K/KI/KING/Clipboard-0.13.tar.gz ... OK
Unpacking Clipboard-0.13.tar.gz
Clipboard-0.13/
Clipboard-0.13/scripts/
Clipboard-0.13/scripts/clipjoin
Clipboard-0.13/scripts/clipbrowse
Clipboard-0.13/scripts/clipaccumulate
Clipboard-0.13/scripts/clipedit
Clipboard-0.13/scripts/clipfilter
Clipboard-0.13/README
Clipboard-0.13/t/
Clipboard-0.13/t/mock.t
Clipboard-0.13/t/drivers.t
Clipboard-0.13/META.yml
Clipboard-0.13/inc/
Clipboard-0.13/inc/Module/
Clipboard-0.13/inc/Module/Install.pm
Clipboard-0.13/inc/Module/Install/
Clipboard-0.13/inc/Module/Install/Win32.pm
Clipboard-0.13/inc/Module/Install/Metadata.pm
Clipboard-0.13/inc/Module/Install/WriteAll.pm
Clipboard-0.13/inc/Module/Install/Can.pm
Clipboard-0.13/inc/Module/Install/Makefile.pm
Clipboard-0.13/inc/Module/Install/Fetch.pm
Clipboard-0.13/inc/Module/Install/Base.pm
Clipboard-0.13/INSTALL
Clipboard-0.13/at/
Clipboard-0.13/at/clipbrowse-test
Clipboard-0.13/at/clipfilter-test
Clipboard-0.13/at/pxclip
Clipboard-0.13/at/clipjoin-test
Clipboard-0.13/at/all-xclip-selections
Clipboard-0.13/at/all
Clipboard-0.13/at/run
Clipboard-0.13/lib/
Clipboard-0.13/lib/Clipboard/
Clipboard-0.13/lib/Clipboard/Win32.pm
Clipboard-0.13/lib/Clipboard/MacPasteboard.pm
Clipboard-0.13/lib/Clipboard/Xclip.pm
Clipboard-0.13/lib/Clipboard.pm
Clipboard-0.13/Makefile.PL
Clipboard-0.13/MANIFEST
Clipboard-0.13/Test/
Clipboard-0.13/Test/MockClipboard.pm
Clipboard-0.13/Test/Clipboard.pm
Clipboard-0.13/Changes
Entering Clipboard-0.13
Checking configure dependencies from META.yml
Running Makefile.PL
Configuring Clipboard-0.13 ... Checking if your kit is complete...
Looks good
Warning: prerequisite Win32::Clipboard 0 not found.
Generating a Unix-style Makefile
Writing Makefile for Clipboard
Writing MYMETA.yml and MYMETA.json
OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.74)
Checking if you have Win32::Clipboard 0 ... No
==> Found dependencies: Win32::Clipboard
Searching Win32::Clipboard on mirror file:///cygdrive/c/Users/somia/code-repositories/pinto/Clipboard ...
! Finding Win32::Clipboard (0) on mirror file:///cygdrive/c/Users/somia/code-repositories/pinto/Clipboard failed.
! Couldn't find module or a distribution Win32::Clipboard
! Installing the dependencies failed: Module 'Win32::Clipboard' is not installed
! Bailing out the installation for Clipboard-0.13.

So, the packages in my repository are as follows:

rf- CGI                                              4.38 LEEJO/CGI-4.38.tar.gz
rf- CGI::Carp                                        4.38 LEEJO/CGI-4.38.tar.gz
rf- CGI::Cookie                                      4.38 LEEJO/CGI-4.38.tar.gz
rf- CGI::File::Temp                                  4.38 LEEJO/CGI-4.38.tar.gz
rf- CGI::HTML::Functions                                0 LEEJO/CGI-4.38.tar.gz
rf- CGI::Pretty                                      4.38 LEEJO/CGI-4.38.tar.gz
rf- CGI::Push                                        4.38 LEEJO/CGI-4.38.tar.gz
rf- CGI::Util                                        4.38 LEEJO/CGI-4.38.tar.gz
rf- Clipboard                                        0.13 KING/Clipboard-0.13.tar.gz
rf- Clipboard::MacPasteboard                            0 KING/Clipboard-0.13.tar.gz
rf- Clipboard::Win32                                    0 KING/Clipboard-0.13.tar.gz
rf- Clipboard::Xclip                                    0 KING/Clipboard-0.13.tar.gz
rf- Fh                                               4.38 LEEJO/CGI-4.38.tar.gz
rf- HTML::Entities                                   3.69 GAAS/HTML-Parser-3.72.tar.gz
rf- HTML::Filter                                     3.72 GAAS/HTML-Parser-3.72.tar.gz
rf- HTML::HeadParser                                 3.71 GAAS/HTML-Parser-3.72.tar.gz
rf- HTML::LinkExtor                                  3.69 GAAS/HTML-Parser-3.72.tar.gz
rf- HTML::Parser                                     3.72 GAAS/HTML-Parser-3.72.tar.gz
rf- HTML::PullParser                                 3.57 GAAS/HTML-Parser-3.72.tar.gz
rf- HTML::Tagset                                     3.20 PETDANCE/HTML-Tagset-3.20.tar.gz
rf- HTML::TokeParser                                 3.69 GAAS/HTML-Parser-3.72.tar.gz
rf- Sub::Uplevel                                   0.2800 DAGOLDEN/Sub-Uplevel-0.2800.tar.gz
rf- Test::Deep                                      1.127 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::All                                     0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Any                                     0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Array                                   0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::ArrayEach                               0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::ArrayElementsOnly                       0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::ArrayLength                             0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::ArrayLengthOnly                         0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Blessed                                 0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Boolean                                 0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Cache                                   0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Cache::Simple                           0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Class                                   0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Cmp                                     0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Code                                    0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Hash                                    0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::HashEach                                0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::HashElements                            0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::HashKeys                                0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::HashKeysOnly                            0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Ignore                                  0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Isa                                     0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::ListMethods                             0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::MM                                      0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Methods                                 0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::NoTest                                  0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::None                                    0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Number                                  0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Obj                                     0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Ref                                     0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::RefType                                 0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Regexp                                  0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::RegexpMatches                           0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::RegexpOnly                              0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::RegexpRef                               0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::RegexpRefOnly                           0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::RegexpVersion                           0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::ScalarRef                               0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::ScalarRefOnly                           0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Set                                     0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Shallow                                 0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::Stack                                   0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Deep::String                                  0 RJBS/Test-Deep-1.127.tar.gz
rf- Test::Needs                                  0.002005 HAARG/Test-Needs-0.002005.tar.gz
rf- Test::NoWarnings                                 1.04 ADAMK/Test-NoWarnings-1.04.tar.gz
rf- Test::NoWarnings::Warning                        1.04 ADAMK/Test-NoWarnings-1.04.tar.gz
rf- Test::Warn                                       0.32 BIGJ/Test-Warn-0.32.tar.gz
rf- URI                                              1.73 ETHER/URI-1.73.tar.gz
rf- URI::Escape                                      3.31 ETHER/URI-1.73.tar.gz
rf- URI::Heuristic                                   4.20 ETHER/URI-1.73.tar.gz
rf- URI::IRI                                         1.73 ETHER/URI-1.73.tar.gz
rf- URI::QueryParam                                  1.73 ETHER/URI-1.73.tar.gz
rf- URI::Split                                       1.73 ETHER/URI-1.73.tar.gz
rf- URI::URL                                         5.04 ETHER/URI-1.73.tar.gz
rf- URI::WithBase                                    2.20 ETHER/URI-1.73.tar.gz
rf- URI::data                                        1.73 ETHER/URI-1.73.tar.gz
rf- URI::file                                        4.21 ETHER/URI-1.73.tar.gz
rf- URI::file::Base                                  1.73 ETHER/URI-1.73.tar.gz
rf- URI::file::FAT                                   1.73 ETHER/URI-1.73.tar.gz
rf- URI::file::Mac                                   1.73 ETHER/URI-1.73.tar.gz
rf- URI::file::OS2                                   1.73 ETHER/URI-1.73.tar.gz
rf- URI::file::QNX                                   1.73 ETHER/URI-1.73.tar.gz
rf- URI::file::Unix                                  1.73 ETHER/URI-1.73.tar.gz
rf- URI::file::Win32                                 1.73 ETHER/URI-1.73.tar.gz
rf- URI::ftp                                         1.73 ETHER/URI-1.73.tar.gz
rf- URI::gopher                                      1.73 ETHER/URI-1.73.tar.gz
rf- URI::http                                        1.73 ETHER/URI-1.73.tar.gz
rf- URI::https                                       1.73 ETHER/URI-1.73.tar.gz
rf- URI::ldap                                        1.73 ETHER/URI-1.73.tar.gz
rf- URI::ldapi                                       1.73 ETHER/URI-1.73.tar.gz
rf- URI::ldaps                                       1.73 ETHER/URI-1.73.tar.gz
rf- URI::mailto                                      1.73 ETHER/URI-1.73.tar.gz
rf- URI::mms                                         1.73 ETHER/URI-1.73.tar.gz
rf- URI::news                                        1.73 ETHER/URI-1.73.tar.gz
rf- URI::nntp                                        1.73 ETHER/URI-1.73.tar.gz
rf- URI::pop                                         1.73 ETHER/URI-1.73.tar.gz
rf- URI::rlogin                                      1.73 ETHER/URI-1.73.tar.gz
rf- URI::rsync                                       1.73 ETHER/URI-1.73.tar.gz
rf- URI::rtsp                                        1.73 ETHER/URI-1.73.tar.gz
rf- URI::rtspu                                       1.73 ETHER/URI-1.73.tar.gz
rf- URI::sftp                                        1.73 ETHER/URI-1.73.tar.gz
rf- URI::sip                                         1.73 ETHER/URI-1.73.tar.gz
rf- URI::sips                                        1.73 ETHER/URI-1.73.tar.gz
rf- URI::snews                                       1.73 ETHER/URI-1.73.tar.gz
rf- URI::ssh                                         1.73 ETHER/URI-1.73.tar.gz
rf- URI::telnet                                      1.73 ETHER/URI-1.73.tar.gz
rf- URI::tn3270                                      1.73 ETHER/URI-1.73.tar.gz
rf- URI::urn                                         1.73 ETHER/URI-1.73.tar.gz
rf- URI::urn::isbn                                   1.73 ETHER/URI-1.73.tar.gz
rf- URI::urn::oid                                    1.73 ETHER/URI-1.73.tar.gz

Edit

Investigation shows that Win32::Clipboard is packaged in Clipboard itself. Should this make a difference? Any ideas for how I can make this work as it's supposed to? Is there something about the way the Clipboard package is constructed that is abnormal or problematical?

The problem wasn't in Pinto or in cpanm."Clipboard::Win32" != "Win32::Clipboard", as caught by choroba below.

May 17, 2025 at 18:42 UTC
  • Comment on What's wrong with my pinto repository? Or with cpanm? (on CygwinPerl)

Replies are listed 'Best First'.
Re: What's wrong with my pinto repository? Or with cpanm? (on CygwinPerl)
by choroba (Cardinal) on May 17, 2025 at 18:49 UTC

      Ok, I am banging my head against the desk right now. I didn't see the difference. Thanks for lending me your eyes, choroba. This has got to be one of the most inattentive mistakes I've made on PMo. I just had other things on my mind.

      After pulling Win32::Clipboard into the repo, I successfully installed Clipboard.pm:

      ...
      Appending installation info to /usr/lib/perl5/5.40/x86_64-cygwin-threads/perllocal.pod
      OK
      Successfully installed Win32-Clipboard-0.58
      Appending installation info to /usr/lib/perl5/5.40/x86_64-cygwin-threads/perllocal.pod
      ...
      OK
      Successfully installed Clipboard-0.13
      Installing /usr/local/share/perl5/site_perl/5.40/x86_64-cygwin-threads-multi/.meta/Clipboard-0.13/install.json
      2 distributions installed